Интерфейсы в качестве возвращаемых значений
Интерфейсы в качестве возвращаемых значений
Интерфейсы можно использовать и в качестве возвращаемых значений методов. Например, можно создать метод, который берет любой 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");
};
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
В качестве послесловия
В качестве послесловия Целью данной книги является показать важность (иногда по-настоящему критическую) клиентской оптимизации и осветить ключевые моменты и проблемные места. Очень хочется верить, что после прочтения книги у читателя сложилось целостное представление
22.4. Запуск в качестве демона
22.4. Запуск в качестве демона При разработке программ, создаваемых для работы в качестве системных демонов, нужно очень внимательно проводить их становление как демонов для правильного определения всех деталей. Ниже приведен перечень тех обстоятельств, на которые
16.8 В качестве заключения
16.8 В качестве заключения В этой главе я постарался подробно рассказать об основных особенностях в работе с файлами в Ubuntu. Надеюсь, вы смогли разобраться что к чему и уловить основные моменты. Напоследок хочется заметить, что Ubuntu без какого-либо дополнительного
8.2. Сопротивление в качестве параметра
8.2. Сопротивление в качестве параметра При изучении урока 5 вам пришлось изрядно потрудиться, чтобы, «вручную» изменяя значение R в RC-фильтре нижних частот, получить диаграмму, изображенную на рис. 5.18. С помощью параметрического анализа вы сможете сделать это гораздо
Массивы в качестве параметров (и возвращаемых значений)
Массивы в качестве параметров (и возвращаемых значений) После создания массива вы можете передавать его, как параметр, или получать его в виде возвращаемого значения. Например, следующий метод PrintArray() получает входной массив строк и выводит каждый элемент на консоль, а
Интерфейсы в качестве параметров
Интерфейсы в качестве параметров Поскольку интерфейсы являются полноценными типами .NET, вы можете конструировать методы, которые будут использовать интерфейсы, как параметры. Для примера предположим, что мы определили другой интерфейс с именем IDraw3D.// Моделируем
Делегаты в качестве параметров
Делегаты в качестве параметров Теперь, когда у нас есть новый тип делегата, который указывает на методы, получающие Car в виде параметра и не возвращающие ничего, мы можем создавать функции, которые принимают этот делегат в виде параметра. Для примера предположим, что у нас
Отображение параметров и возвращаемых значений методов
Отображение параметров и возвращаемых значений методов Итак, всё работает. Теперь немного усовершенствуем наше приложение. В частности, модифицируем вспомогательную функцию ListMethods(), чтобы получать не только имя метода, но и возвращаемое значение, а также входные
Выражения в качестве операндов
Выражения в качестве операндов Операндом при увеличении или уменьшении значения TIMESTAMP, TIME, DATE или DATE в диалекте 1 может быть константа или выражение. Выражение может быть особенно полезным в ваших приложениях, когда вам надо увеличить или уменьшить значение в секундах,
19.5. Проверка значений, возвращаемых функцией
19.5. Проверка значений, возвращаемых функцией Для проверки значения, возвращаемого вызванной функцией, можно воспользоваться кодом завершения последней команды, размешенной непосредственно после функции, которая вызывается из сценария. Например:check it ls_a directory $FILENAME #
Глава 5 О качестве снимков
Глава 5 О качестве снимков Пожалуй, разговор о качестве снимков можно считать краеугольным камнем темы продажи своих фотографий на микростоковых сайтах. Очень часто, когда люди, в целом далекие от искусства фотографии, слышат о том, что кто-то продает свои фотоснимки и