我想调用这样的extension
方法
int.AnExtensionMethod()
这是可能的还是我必须调用一个实例?
扩展方法使您能够将方法“添加”到现有类型,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。所以,你不能做你上面建议的事情,尝试这样做是没有意义的。扩展方法是 METHOD。方法作用于类或对象的实例...
请参阅MSDN 上的这个基本介绍和一个非常相似的问题的答案。
我希望这有帮助。
你可以这样做
public static class intext {
public static int doubleMe(this int x) {
return 2 * x;
}
}
像这样称呼它
Console.WriteLine(5.doubleMe());
但我认为这int.doubleMe()
是不可能的,您可以阅读更多信息:为什么没有扩展属性?
只是为了更清楚
Console.WriteLine(5.doubleMe());
相当于
Console.WriteLine(intext.doubleMe(5));
扩展方法用于扩展现有类型而不是在其中添加方法。
据我所知,它需要是一个类的实例。我不记得向类本身添加扩展方法。此外,为什么要向int
(或其他)类添加扩展方法?