Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Получение интерфейсных ссылок: ключевое слово 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. Динамическое обнаружение реализованных интерфейсов
- Получение интерфейсных ссылок: ключевое слово as
- Получение статистики
- Покупка ссылок
- Получение помощи
- Получение помощи по работе с книгой и компакт-диском
- Получение помощи по Windows SharePoint Services 3.0
- Часть I Слово
- Нормально ли воспринимается поисковыми системами маскировка партнерских ссылок?
- Получение доменного имени
- Как избежать разрыва словосочетаний в Word?
- 4.8. Получение прав root
- Получение страниц заполненных нулями