.NET如何知道在哪里寻找扩展方法?

时间:2014-05-15 08:48:25

标签: c# extension-methods

我相信我理解扩展方法的概念,除了一个细节。您似乎可以在参数上使用static创建一个随机({1}}方法的随机(静态)类。我相信这个参数必须匹配你想要扩展的类的类型(或者它继承的类)。 一个例子:

this

.NET如何知道在哪里找到这个类和方法(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); } } )?我没有看到任何相关的课程。是否正在查看项目中的所有类以进行可能的扩展?

1 个答案:

答案 0 :(得分:4)

它会在您在文件顶部声明的命名空间中查找静态类,例如使用System.Linq;' (如果它在当前命名空间中找不到任何内容) 然后它只是用

替换呼叫
MyExtendedMethods.square