[英]Implicit end explicit implementation of same method from interface?
在什么情况下从接口隐式结束显式实现同一方法有意义?
我知道区别,但是我不知道为什么有时两者都使用?
interface I1
{
void A();
}
class B : I1
{
public void A()
{
Console.WriteLine("Implicit ");
}
void void I1.A()
{
Console.WriteLine("Explicit");
}
}
例如,您可以执行此操作以使该方法protected
并可以通过该接口访问。
这样,调用者只能通过接口声明或从类派生而访问它。 不能从类本身或派生类访问显式接口成员。
class B : I1
{
protected void A()
{
Console.WriteLine("Implicit ");
}
void void I1.A()
{
Console.WriteLine("Explicit");
}
}
I1 i = new B();
i.A(); // works
B b = new B();
b.A(); // does not work
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.