任何想法?我将它标记为静态,但它不起作用!我无法让我的扩展方法工作(C#)
class ExtensionMethods
{
public static int Add(this int number, int increment)
{
return number + increment;
}
}
任何想法?我将它标记为静态,但它不起作用!我无法让我的扩展方法工作(C#)
class ExtensionMethods
{
public static int Add(this int number, int increment)
{
return number + increment;
}
}
你缺少类的静态。编译器应该告诉你这个?
public static class ExtensionMethods
这是解决方案,但编译器不会告诉你这一点。就它而言,语法是有效的。它不知道你正在尝试做一个扩展方法。 – 2009-09-18 12:32:10
它可以做 - http://msdn.microsoft.com/en-us/library/bb397656.aspx – ICR 2009-09-18 12:50:38
我认为,它需要一个静态类中定义:
namespace MyNameSpace
{
public static class ExtensionMethods
{
public static int Add(this int number, int increment)
{
return number + increment;
}
}
}
您还必须包括代码文件using MyNameSpace;
要在使用它们,除非是在同一命名空间
Spot on。扩展方法只能在静态类上定义。 – 2009-09-18 12:32:35
你有'使用ExtensionMethods'语句你想使用这个代码? – pgb 2009-09-18 12:29:48
您应该检查CS1106的编译器警告。 – 2009-09-18 13:20:54