为什么interface里面定义的函数不能用Public修饰?
我的C#代码是:
interface iii
{
public void f();
}
编译会有问题:error CS0106: The modifier 'public' is not valid for this item
奇怪了,难道interface里面不能使用访问限定符吗?
------解决方案--------------------因为没必要,接口里面定义的方法一定是公开的,不然接口就失去了意义。
------解决方案--------------------不用修饰,只能是public的
------解决方案--------------------当然。对于interface内的方法,实现类可以公有实现,或者私有实现(显式实现):
interface I { void foo(); }
公有实现
class A : I { public void foo() { ... } }
私有实现
class B : I { private void I.foo() { ... } }