分类 C# 下的文章

如何使用C#判断一个文件是否为程序集

程序集是经由编译器编译得到的,供 CLR 进一步编译执行的那个中间产物。它一般表现为 .dll 或者是 .exe 的格式,但是要注意,它们跟普通意义上的 WIN32 可执行程序是完全不同的东西,程序集必须依靠 CLR 才能顺利执行。程序集是 .NET 编程的基本组成部分。

阅读剩余部分

C# 简单的操作其他exe应用程序

续上一篇,这一篇主要还是来写下SendMessage的一般可能会用到的操作。当然其中有些操作也可以用其他方式去实现。

上一篇我们在接收端做了Windows消息的自定义处理,所以我们可以更灵活的操作赋值,但是这都是基于我们自己写的程序,下面我们对第三方程序做一下简单的操作。

阅读剩余部分

C#的可变参数params

前言

    前几天在群里看到群友写了一个基础框架,其中涉及到关于同一个词语可以添加多个近义词的一个场景。当时群友的设计是类似字典的设计,直接添加k-v的操作,本人看到后思考了一下觉得使用c#中的params可以更优雅的实现一个key同时添加一个集合的操作,看起来会更优雅一点,这期间还有群友说道params和数组有啥区别的问题。本篇文章就来大致的说一下。

阅读剩余部分

C#10新特性之调用者表达式属性

CallerArgumentExpressionAttribute 提供有关方法调用上下文的信息。与其他 CompilerServices 属性一样,此属性应用于可选参数。在这种情况下,一个字符串:

void CheckExpression(bool condition, 
    [CallerArgumentExpression("condition")] string? message = null )
{
    Console.WriteLine($"Condition: {message}");
}

传递给 CallerArgumentExpression 的参数名称是不同参数的名称。作为参数传递给该参数的表达式将包含在字符串中。

阅读剩余部分