我遇到了一些代碼,我不太清楚它爲什麼可以工作,或者你爲什麼想這樣做。我會喜歡它,如果有人能爲我撕下它。我很瞭解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