4

我有一个界面:

public interface: IA { ... }

我试着把它扩展到

class public A : IA {
    private static void foo(this IA a) {
        a.foo();
    }
}

但编译器说,它找不到 foo(),第一个参数类型为 IA。我该如何解决?

4

1 回答 1

9

您是否也将扩展类标记为静态?即具有扩展方法的类必须标记为静态并且扩展方法本身也必须是静态的。

 public static class AExtensions : IA 
 {
     public static void foo(this IA a) { a.foo(); } 
 } 
于 2012-06-14T01:46:26.680 回答