ちょっとしたコードに出くわしましたが、なぜそれが機能するのか、なぜこのようにしたいのかよくわかりません。誰かが私のためにそれを壊すことができれば、私はそれが大好きです. 私は 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>();
}
}