Отправляет email-рассылки с помощью сервиса Sendsay

Финансы. Инструкция

  Все выпуски  

Уроки по C# и .NET. Вопрос 31. Как вызывать одноименные методы 2-х различных инт


FAQ по C#
Вопрос 31. Как вызывать одноименные методы 2-х различных интерфейсов?

Иногда ваш класс наследуется от 2-х интерфейсов, в каждом из которых есть метод с одним и тем же названием. Для использования этих методов в классе-потомке надо использовать их полное имя (т. е. вместе с именем интерфейса), а при вызове - приведение типа. Вот пример:

    interface IInterface1
    {
        void Method1();
    }
    interface IInterface2
    {
        void Method1();
    }
    class SomeClass : IInterface1, IInterface2
    {
        void IInterface1.Method1()
        {
            Console.WriteLine("IInterface1");
        }
        void IInterface2.Method1()
        {
            Console.WriteLine("IInterface2");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            SomeClass z = new SomeClass();
            ((IInterface1)z).Method1();
            ((IInterface2)z).Method1();
        }
    }

В избранное