Возьмем этот пример:
public interface IFoo
{
IFoo Bar();
}
public class Foo : IFoo
{
public Foo Bar()
{
//...
}
IFoo IFoo.Bar() { return Bar(); } //Why is this necessary?
}
Почему подразумевается неявная реализация IFoo Bar()
, даже если Foo
преобразуется в IFoo
без литья?