VS 不允许我调用我的扩展方法

VS does not allow me to invoke my extension method

出于任何原因,VS 允许我使用我的扩展方法调用的长写。但是编译器拒绝更短的形式:

public 静态 class OperationExtender {

public static void MyMethod(Operation ope, int value) {
  ...
}

}

我可以这样调用它:

OperationExtender.MyMethod(anOperation, 0);

但是如果我输入:

anOperation.OperationExtender(0);

VS 生成这个常见的编译错误:

 'OperationExtender.MyMethod(Operation, int)' 
 does not contain a definition for
'MyMethod' and no extension method 'MyMethod' accepting a first argument of type 'Operation' could be found (are you missing a using directive or an assembly reference?)

如果第一篇被采纳,我想应该不会是usung/NS/assembly问题....

因为它不是扩展方法。您忘记了第一个参数的 this 关键字(类型为 "extended"):

public static void MyMethod(this Operation ope, int value) {
    //...
}