无法从实现类访问接口中的C#静态方法



接口IA中的方法SomeStaticMethod不能从实现该接口的类A直接访问。我是不是错过了什么?

public interface IA {
public static int SomeStaticMethod() => 4;    
}
public class A : IA {
public static void Bidule() {
SomeStaticMethod(); //DO NOT COMPILE
IA.SomeStaticMethod(); //COMPILES
}
}

如果将接口IA更改为类,则它可以工作。

public class IA {
public static int SomeStaticMethod() => 4;    
}
public class A : IA {
public static void Bidule() {
SomeStaticMethod(); //NOW it works
}
}
一个类可以实现多个接口。如果在两个接口中定义了一个具有相同签名的静态方法,编译器就无法决定应该调用其中的哪一个。这是大多数OO语言试图避免多重继承的(许多(原因之一,尽管它很有用

最新更新