我遇到了一些代码,我不太清楚它为什么可以工作,或者你为什么想这样做。我会喜欢它,如果有人能为我撕下它。我很了解OOP的概念,我之前从未见过这种技术。由于接口和抽象类保护级别方法
这里是例子:如果你在谈论这行代码
public interface IInterface
{
IEnumerable<object> DoSomething();
}
public abstract class MyBase : IInterface
{
protected MyBase()
{
}
IEnumerable<object> IInterface.DoSomething()
{
return DoSomething();
}
protected virtual IEnumerable<object> DoSomething()
{
return new List<object>();
}
}
public class MyClass : MyBase
{
internal MyClass() : base() {}
protected override IEnumerable<object> DoSomething()
{
return new List<object>();
}
}
目前还不清楚你对哪个方面感到困惑。 – 2013-03-11 16:04:16
我猜测它是受保护隐式实现的显式接口实现(如果这就是它 - 我会说隐式接口实现是公共的)。 – 2013-03-11 16:07:26
我的歉意。混淆我的部分是我看作是IInterface.DoSomething返回虚拟DoSomething的私有实现的东西。我也注意到了IInterface。它是编译所必需的。 – Kirby 2013-03-11 16:10:13