Получение интерфейсных ссылок: ключевое слово is

Получение интерфейсных ссылок: ключевое слово is

Можно также проверить реализацию интерфейса с помощью ключевого слова is. Если соответствующий объект не совместим указанным интерфейсом, будет возвращено значение false. А если тип совместим с интерфейсом, вы можете смело вызвать его члены без использования логики try/catch.

Для примера предположим, что мы изменили массив типов Shape так, что теперь некоторые его члены реализуют IPointy. Вот как с помощью ключевого слова is можно выяснить, какие из элементов в массиве поддерживают этот интерфейс.

static void Main(string[] args) {

 …

 Shape[] s = {new Hexagon(), new Circle(), new Triangle("Joe"), new Circle("JoJo")};

 for (int i = 0; i ‹ s.Length; i++) {

  // Напомним, что базовый класс Shape определяет абстрактный

  // член Draw(), поэтому все формы могут отображать себя.

  s[i].Draw()

  // Кто с вершинами?

  if (s[i] is IPointy) Console.WriteLine("-› Вершин: {0} ", ((IPointy)s[i]).Points);

  else Console.WriteLine("-› {0} без вершин!", s[i].PetName);

 }

}

Соответствующий вывод показан на рис. 7.2.

Рис 7.2. Динамическое обнаружение реализованных интерфейсов

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Реализация интерфейсных маршалеров

Из книги Сущность технологии СОМ. Библиотека программиста автора Бокс Дональд

Реализация интерфейсных маршалеров В предыдущем разделе было показано четыре интерфейса, используемых архитектурой стандартного маршалинга. Хотя и допустимо реализовать интерфейсные маршалеры с помощью ручного кодирования на C++, на практике это осуществляется редко.


Ключевое слово static

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Ключевое слово static Как уже говорилось в этой главе, члены классов (и структур) в C# могут определяться с ключевым cловом static В этом случае соответствующий член должен вызываться непосредственно на уровне класса, а не экземпляра типа. Для иллюстрации рассмотрим "знакомый"


Хранение семейных тайн: ключевое слово protected

Из книги Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT автора Фролов Александр Вячеславович

Хранение семейных тайн: ключевое слово protected Вы уже знаете, что открытые элементы непосредственно доступны отовсюду, а приватные элементы недоступны для объектов вне класса, определяющего эти элементы. Язык C#, занимающий лидирующие позиции среда многих других


Получение интерфейсных ссылок: ключевое слово is

Из книги VBA для чайников автора Каммингс Стив

Получение интерфейсных ссылок: ключевое слово is Можно также проверить реализацию интерфейса с помощью ключевого слова is. Если соответствующий объект не совместим указанным интерфейсом, будет возвращено значение false. А если тип совместим с интерфейсом, вы можете смело


Массивы интерфейсных типов

Из книги Как найти и скачать в Интернете любые файлы автора Райтман М. А.

Массивы интерфейсных типов Следует понимать, что один и тот же интерфейс может реализовываться многими типами, даже если эти типы не находятся в рамках одной иерархии классов. В результате можно получать очень мощные программные конструкции, Предположим, например, что


Ключевое слово checked

Из книги Искусство программирования на языке сценариев командной оболочки автора Купер Мендель

Ключевое слово checked Вы, несомненно, прекрасно знаете, что любой числовой тип данных имеет свои строго заданные верхний и нижний пределы (значения которых можно выяснить программными средствами с помощью свойств MaxValue и MinValue). При выполнении арифметических операций с


Ключевое слово unchecked

Из книги Язык Си - руководство для начинающих автора Прата Стивен

Ключевое слово unchecked В предположении, что вы активизировали проверку переполнения для всего проекта, как разрешить игнорирование переполнений для тех блоков программного кода, где "молчаливая реакция" на переполнение вполне приемлема? Поскольку флаг /checked предполагает


Ключевое слово sizeof

Из книги Инфобизнес за один день автора Ушанов Азамат

Ключевое слово sizeof В заключение обсуждения вопросов, связанных с небезопасным контекстом в C#, рассмотрим ключевое слово sizeof. Как и в C(++), ключевое слово C# sizeof используется для того, чтобы выяснить размер в байтах типа, характеризуемого значениями (но не ссылочного типа), и


Ключевое слово this

Из книги Продвижение порталов и интернет-магазинов автора Гроховский Леонид О.

Ключевое слово this Ключевое слово this представляет собой указатель на текущий объект класса. Методы класса могут использовать ключевое слово this чтобы получить указатель на объект для которого вызван данный метод. Указатель this представляет собой постоянную величину, вы не


Ключевое средство отладки: окно Watches

Из книги Linux и все, все, все... Статьи и колонки в LinuxFormat, 2006-2013 автора Федорчук Алексей Викторович

Ключевое средство отладки: окно Watches Когда вы освоите работу с окном Locals, работа с окном Watches (Окно контролируемых выражений) покажется просто забавой. Окно Watches делает, по сути, то же самое, что и окно Locals, но с одним очевидным отличием - те выражения, значения которых будут


Получение прямых ссылок на файлы хостингов

Из книги автора

Получение прямых ссылок на файлы хостингов Постоянно разрабатываются так называемые личеры (от англ. leech — пиявка) ссылок — программы и веб-сайты, предназначенные для обхода любых ограничений файлообменных ресурсов и получения непосредственно прямых ссылок на


КЛЮЧЕВОЕ СЛОВО return

Из книги автора

КЛЮЧЕВОЕ СЛОВО return      Принципы программирования на языке Си основаны на понятии функции. В представленных ранее примерах программирования мы уже воспользовались несколькими функциями: printf( ), scanf( ), getchar( ), putchar( ) и strlen( ). Эти функции являются системными, однако мы


2. Магическое слово «ДЛЯ»

Из книги автора

2. Магическое слово «ДЛЯ» Мы уже говорили, что это слово хорошо работает. Ваш курс может быть для новичков, для продвинутых, для женщин или для тех, кому за 50. То есть для определенной категории людей: сетевиков, инфобизнесменов, просто бизнесменов и людей, которые лишились


Получение естественных ссылок

Из книги автора

Получение естественных ссылок Естественными ссылками считаются ссылки, размещенные пользователями, рекомендующими тот или иной контент либо проект в целом. Такая ссылка характеризуется рядом особенностей.? В анкоре отсутствуют ключевые слова. Чаще всего анкорами