Типы, определяющие сортировку, и пользовательские свойства

Типы, определяющие сортировку, и пользовательские свойства

Следует отметить, что с помощью пользовательских статических свойств вы можете помочь пользователю объекта отсортировать типы Car по заданному элементу данных. Предположим, что в класс Car добавлено статическое свойство SortByPetName(), доступное только для чтения и возвращающее экземпляр объекта, реализующего интерфейс IComparer (в данном случае это PetNameComparer).

// Здесь обеспечивается поддержка пользовательского свойства для

// возвращения "правильного" интерфейса IComparer.

public class Car: IComparable {

 …

 // Свойство, возвращающее компаратор SortByPetName.

 public static IComparer SortByPetName { get { return (IComparer)new PetNameComparer(); } }

}

В программном коде пользователя объекта теперь можно выполнить сортировку по названию, используя ассоциированное свойство без какого бы то ни было "упоминания" специального типа класса PetNameComparer:

// Сортировка по имени становится немного проще.

Array.Sort(myAutos, Car.SortByPetName);

Исходный код. Проект ComparableCar размещен в подкаталоге, соответствующем главе 7.

Теперь вы должны понимать не только то, как определяются и реализуются типы интерфейса, но и то, в чем их польза. Будьте уверены, интерфейсы можно обнаружить в любом из главных пространств имен .NET и в завершение этой главы мы рассмотрим примеры интерфейсов (и базовых классов) из пространства имен System.Collections.

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

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

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

3. Пользовательские регистры

Из книги Информатика и информационные технологии: конспект лекций автора Цветкова А В

3. Пользовательские регистры Как следует из названия, пользовательскими регистры называются потому, что программист может использовать их при написании своих программ. К этим регистрам относятся (рис. 2):1) восемь 32-битных регистров, которые могут использоваться


39. Пользовательские регистры

Из книги Информатика и информационные технологии автора Цветкова А В

39. Пользовательские регистры Как следует из названия, пользовательскими регистры называются потому, что программист может использовать их при написании своих программ. К этим регистрам относятся:1) восемь 32-битных регистров, которые могут использоваться


Типы, характеризуемые значениями, ссылочные типы и оператор присваивания

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

Типы, характеризуемые значениями, ссылочные типы и оператор присваивания Теперь изучите следующий метод Main() и рассмотрите его вывод, показанный на рис. 3.12.static void Main(string[] args) { Console.WriteLine("*** Типы, характеризуемые значением / Ссылочные типы ***"); Console.WriteLine(-› Создание p1"); MyPoint


Типы, характеризуемые значениями и содержащие ссылочные типы

Из книги Delphi. Учимся на примерах автора Парижский Сергей Михайлович

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


Типы, характеризуемые значениями, и ссылочные типы: заключительные замечания

Из книги Внедрение SAP R/3: Руководство для менеджеров и инженеров автора Кале Вивек

Типы, характеризуемые значениями, и ссылочные типы: заключительные замечания Чтобы завершить обсуждение данной темы, изучите информацию табл. 3.8, в которой приводится краткая сводка основных отличий между типами, характеризуемыми значением, и ссылочными типами.Таблица


Пользовательские типы данных

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

Пользовательские типы данных Для объявления пользовательских типов, используют конструкцию вида:type имя_типа = описание_типа;К примеру, таким образом можно объявлять типы множеств, перечислимые типы и


Пользовательские Web-интерфейсы

Из книги AutoCAD 2009. Учебный курс автора Соколова Татьяна Юрьевна

Пользовательские Web-интерфейсы За время рабочего дня пользователь может неоднократно подключаться к сети Интернет, к внутренним сетям и самым разнообразным операционным, деловым или информационным приложениям, многие из которых несовместимы друг с другом: объем


Пользовательские объекты

Из книги Реестр Windows 7 автора Климов Александр Петрович

Пользовательские объекты Освоив использование встроенных объектов VBA и других объектных библиотек, вы, наверное, захотите создать свои собственные объекты. Хотя можно достичь немалого и с помощью обычных процедур типа Sub и Function, выделение части программного кода в виде


Пользовательские параметры тонирования

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

Пользовательские параметры тонирования С палитры Advanced Render Settings выбором соответствующего параметра раскрывающегося списка в верхней ее части (рис. 23.19) загружается Диспетчер набора стандартных параметров тонирования Render Presets Manager. Рис. 23.19. Выбор Диспетчера набора


Пользовательские папки

Из книги Компьютерная обработка звука автора Загуменнов Александр Петрович

Пользовательские папки Если в Проводнике открыть пользовательскую папку ( C:Пользователи<ИмяПользователя> ), то можно увидеть в ней ряд специальных папок с собственными значками, например, папки Контакты, Загрузки, Сохраненные игры и т. д. (рис. 4.17). Рис. 4.17.


Пользовательские триггеры

Из книги Linux глазами хакера автора Флёнов Михаил Евгеньевич

Пользовательские триггеры В пользовательских триггерах (тех, которые вы пишете сами, используя язык PSQL) у вас есть возможность точно задать, что происходит, когда сервер получает запрос на добавление, изменение или удаление строк таблицы. Пользовательские триггерымогут


Пользовательские точки сохранения

Из книги Linux Mint и его Cinnamon. Очерки применителя автора Федорчук Алексей Викторович

Пользовательские точки сохранения Операторы пользовательских точек сохранения (user savepoints), также называемые вложенными транзакциями, позволяют вам "упаковать" группы операций внутри транзакции и отмечать их, если пересылка в базу данных была успешной. Если позже в


Основные понятия, определяющие акустический сигнал

Из книги Священные войны мира FOSS автора Федорчук Алексей Викторович

Основные понятия, определяющие акустический сигнал Для правильного понимания проблем обработки звука необходимо различать первичные и вторичные акустические сигналы. К первичным относятся сигналы, создаваемые музыкальными инструментами, пение, речь, а также шумовые


12.5.8. Пользовательские журналы

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

12.5.8. Пользовательские журналы Все команды, которые выполняются пользователем, сохраняются в файле .bash_history (если используется интерпретатор команд /bin/bash), который находится в пользовательской домашней директории. Когда вы определили, под какой учетной записью в системе


Пользовательские качества

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

Пользовательские качества Здесь для начала рискну высказать крамольное, с точки зрения фанатиков любой из обсуждаемых систем, мнение (впрочем, фанатики любое мнение, не совпадающее с их собственным, сочтут крамольным). А именно:Для пользователя, отдающего преимущество