* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна!
Свойства по умолчанию и индексаторы
8 февраля 2009
Компоненту, написанному на Visual Basic .NET, допустимо назначить свойство по умолчанию. Оно непременно должно быть параметризованным. Обычно это свой- ство возвращает диапазон, массив или набор значений. Назначать объекту свой- ство по умолчанию имеет смысл, только если его основной функцией является хра- нение других объектов и предоставление к ним доступа.
Если некоторое свойство назначено свойством по умолчанию, можно опускать его имя и обращаться к нему просто по имени объекта, членом которого оно явля- ется. Так, следующие команды являются эквивалентными: Visual Basic .NET Этот пример предполагает, что свойство Item является свойством по умолчанию для объекта myCollection, myCollection.Item(2) = "Default properties!" myCollection{2) = "Default properties!" Поскольку для обращения к свойству по умолчанию достаточно указать имя объекта, у класса может быть не более одного свойства по умолчанию. В объявле- нии свойства по умолчанию указывают ключевое слово Default. Visual Basic .NET Public Default Property Item(I As Integer) As String Реализация опущена End Property В Visual C# эквивалентом свойств по умолчанию являются индексаторы. Ин- дексатор — это особое свойство, позволяющее получать доступ к группе объектов, указывая только имя объекта, в котором реализован индексатор. В коде класса ин- дексатор всегда фигурирует под именем this. Это свидетельствует о том, что для об- ращения к индексатору достаточно указать имя объекта, членом которого оно яв- ляется. Вот пример простого индексатора: Visual C# // Создать массив для хранения значений, // к которым предоставляет доступ индексатор private int[] IntArray; // Переменная индекса (в квадратных скобках) служит // для указания нужного значения индексатора. public int this[int index] ! get ! return IntArray[index]; } set i IntArray[index] = value; ^ Как создать свойство по умолчанию в Visual Basic .NET Для этого следует создать параметризированное свойство, возвращающее объект, заданный переданным ему параметром. Это свойство следует объявлять с клю- чевым словом Default. >• Как создать индексатор в Visual C# Чтобы создать индексатор, следует объявить свойство с именем this, назначить для него переменную индекса и написать код, возвращающий значение с задан- ным индексом.