Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Интерфейсы в качестве возвращаемых значений

Интерфейсы в качестве возвращаемых значений

Интерфейсы можно использовать и в качестве возвращаемых значений методов. Например, можно создать метод, который берет любой System.Object, проверяет на совместимость с IPointy и возвращает ссылку на извлеченный интерфейс.

// Этот метод проверяет соответствие IPointy и, если это возможно,
// возвращает ссылку на интерфейс.
static IPointy ExtractPointyness(object o) {
 if (o is IPointy) return (IPointy)o;
 else return null;
}

С этим методом можно взаимодействовать так, как предлагается ниже.

static void Main(string[] args) {
 // Попытка извлечь IPointy из объекта Car.
 Car myCar = new Car();
 IPointy itfPt = ExtractPointyness(myCar);
 if (itfPt!= null) Console.WriteLine("Объект имеет {0} вершин.", itfPt.Points);
 else Console.WriteLine("Этот объект не реализует IPointy");
};

Оглавление книги


Генерация: 1.285. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз