隐式结束从接口显式实现相同方法
本文关键字:方法 实现 接口 结束 | 更新日期: 2023-09-27 18:27:14
在什么情况下,从接口隐式结束显式实现同一方法是有意义的?
我知道区别,但我不知道为什么有时两者都用?
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