Re[3]: Интерфейсы, вызовы методов.
От: master_of_shadows Беларусь  
Дата: 12.07.04 07:08
Оценка:
Здравствуйте, xwalker, Вы писали:

X>Здравствуйте, xwalker, Вы писали:


X>>Здравствуйте, master_of_shadows, Вы писали:

X>...
X>В догонку к предыдущему посту.
X>А вам обязательно нужна ЯВНАЯ реализация интерфейсов?

Да. В том то и дело.

X>
X>void IFoo.Method1()
X>...
X>


X>У меня получилось заставить работать ваш пример (пред. пост) только при обычной реализации интерфейса.

X>То есть в след. коде вызов метода process1 все равно печатает child!
X>
X>    public interface IFoo
X>    {
X>        void process();
X>    }

X>    public class Base: IFoo
X>    {
X>        void IFoo.process()
X>        {
X>            System.Windows.Forms.MessageBox.Show("base");
X>        }
X>    }

X>    public class Child: Base, IFoo
X>    {
X>        void IFoo.process()
X>        {
X>            MessageBox.Show("child");
X>        }

X>        public void process1()
X>        {
X>            ((this as Base) as IFoo).process();
X>        }
X>    }
X>


Вот именно в этом то и проблемма. После явной реализации интерфейса нет возможности (я не нашёл) вызвать метод базового класса. Что есть очень странно.

    ...take a look at the sky, just before you die...
    << RSDN@Home 1.1.3 stable >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.