. net如何知道在哪里寻找扩展方法?
本文关键字:扩展 方法 寻找 在哪里 何知道 net | 更新日期: 2023-09-27 18:03:23
我相信我理解扩展方法的概念,除了一个细节。似乎您可以使用参数上的this
创建一个随机(静态)类,并使用随机static
方法。我认为这个参数必须匹配您想要扩展的类(或者它继承的类)的类型。一个例子:
public static class MyExtendedMethods
{
public static int square(this int num)
{
int result = 0;
result = num * num;
return result;
}
}
class Program
{
static void Main(string[] args)
{
int myNum = 3;
myNum = myNum.square();
Console.WriteLine(myNum);
}
}
.NET如何知道在哪里找到这个类和方法(MyExtendedMethods.square()
)?我看不出这两门课有什么联系。它是否通过项目中的所有类来寻找可能的扩展?
它在文件顶部声明的命名空间中查找静态类,例如'using System.Linq;'(如果在当前命名空间中找不到任何内容)然后它简单地用
替换调用MyExtendedMethods.square