Сделать свойство индексатора по умолчанию для класса в C#

Классы, такие как Dictionary и List предоставляют свойство индексатора по умолчанию, которое позволяет вам получать доступ к значениям, используя синтаксис, аналогичный тому, который вы используете для доступа к значениям в массиве. Например, следующие наборы кода, а затем получает фамилию из словаря .

Вы можете добавить аналогичную функциональность в свой класс, предоставив ему свойство с именем this. Он должен принять специальный параметр в квадратных скобках, который дает индекс, который свойство должно использовать для получения или установки значения.

В этом примере используется класс DictionaryWithDefault. Этот класс в основном является оберткой для Dictionary, но он возвращает значение по умолчанию, если вы пытаетесь получить доступ к ключу, который не находится в Dictionary. Следующий код показывает, как работает класс.

Это общий класс с параметрами типа TKey и TValue. Большая часть кода относительно проста (если вы понимаете общие классы).

Интересной частью является свойство индексатора. Метод get возвращает соответствующее значение, если индекс находится в Dictionary или значение по умолчанию в противном случае. Метод set просто сохраняет пару ключ / значение в Dictionary.

Следующий код показывает, как пример программы использует класс DictionaryWithDefault.

Источник: http://csharphelper.com/blog/2015/05/make-a-default-indexer-property-for-a-class-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *