我无法使用我的扩展方法(C#)

Red*_*ion 5 c# extension-methods

有任何想法吗?我把它标记为静态,但它不起作用!

class ExtensionMethods
{
    public static int Add(this int number, int increment)
    {
        return number + increment;
    } 
}
Run Code Online (Sandbox Code Playgroud)

Rya*_*all 19

你在课堂上缺少静态.编译器应该告诉你这个?

public static class ExtensionMethods
Run Code Online (Sandbox Code Playgroud)

  • 这是解决方案,但编译器不会告诉你这个.就它而言,语法是有效的.它不知道您正在尝试制作扩展方法. (3认同)
  • 它可以做到 - http://msdn.microsoft.com/en-us/library/bb397656.aspx (3认同)

JDu*_*ley 11

我认为,它需要在静态类中定义:

namespace MyNameSpace
{
    public static class ExtensionMethods
    {
        public static int Add(this int number, int increment)
        {
            return number + increment;
        } 
    }
}
Run Code Online (Sandbox Code Playgroud)

using MyNameSpace;除非它位于同一名称空间中,否则还必须在要使用它们的代码文件中包含a