Как вызвать явную реализацию интерфейса в базовом классе
От: Аноним  
Дата: 20.09.06 09:00
Оценка:
using System;

public interface IFace
{
    void Foo();
}

public class Base : IFace
{
    void IFace.Foo()
    {
        Console.WriteLine("IFace.Foo in Base");
    }
}

public class Derived : Base, IFace
{
    void IFace.Foo()
    {
        
        base.Foo(); // не компилируется
        ((IFace)base).Foo(); // не компилируется
        ((IFace)(Base)this).Foo(); // вызыватся метод из класса Derived

        Console.WriteLine("IFace.Foo in Derived");
    }
}


Попробовал разные варианты (см. выше), но так и не смог вызвать метод из базового класса. Как это сделать?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.