C#编译器找不到接口扩展方法?

时间:2012-06-14 01:44:09

标签: c#

我有一个界面:

public interface: IA { ... }

我尝试将其扩展到

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

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

1 个答案:

答案 0 :(得分:9)

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

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