什么是“;这个“;参数字段中C#中的保留字do

本文关键字:保留字 do 参数 这个 什么 数字段 | 更新日期: 2023-09-27 18:00:27

我看到了这样的东西:

public static void FunctionSample(**this** Class1 x, int r, double f){

"这个"是干什么的?

什么是“;这个“;参数字段中C#中的保留字do

Ths表示Class1扩展方法,尽管在当前形式中它是不正确的,因为方法也需要是静态的并且在静态类中。

扩展方法(C#编程指南)

扩展方法被定义为静态方法,但由调用使用实例方法语法。它们的第一个参数指定键入方法操作的类型,参数前面是这个修饰符。

这意味着您正在创建的方法是一个扩展方法。这意味着(在您的情况下)该方法将充当Class1的成员方法。所以你可以使用这个:

Class1 exmpl = new Class1();
exmpl.FunctionSample(0, 0.0);

然而,它在您的情况下不起作用,因为扩展方法需要是静态的,并且存在于静态类中。

如果您希望扩展方法像上面给出的例子一样工作,您将需要一个指向包含扩展方法的静态类所在的命名空间的using指令。

事实上,linq也是这样工作的。如果您将using System.Linq添加到代码文件中,那么您所要做的唯一事情就是导入大量的扩展方法。