正如标题所说:如果我们不能在界面中使用访问保护修饰符那么我们可以在c#中使用什么?
找到的唯一答案是使用抽象类?
答案 0 :(得分:1)
接口不允许成员访问修饰符,但接口本身可以具有对常规类有效的任何访问修饰符。与显式实现的接口结合使用,在某种程度上允许成员级访问修饰符。请考虑以下代码:
internal interface IFoo
{
void Frob();
}
public interface IBar
{
void Blah();
}
public class Foo : IFoo, IBar
{
void IFoo.Frob() { }
public void Blah() { }
}
你基本上具有假设的道德等同物:
public interface IFooBar
{
public void Blah();
internal void Frob();
}
虽然 是真的,但是无法明确地实现Frob
这一事实,至少就像今天的c#一样。