Съдържание:
Определение - Какво означава Indexer?
Индексаторът в контекста на C # е член на класа, използван за предоставяне на възможности за индексиране, подобни на масив, за лесен достъп до свойства на обекти. Индексаторът се използва най-вече, когато масивът е капсулиран в даден тип.
Простият синтаксис на индексатора помага на клиентските приложения да имат достъп до групи елементи като член на обект от масив (тип, клас или структура). Индексаторът предоставя индиректен метод за въвеждане на логика за проверка на границите. Благодарение на интуитивната си природа, индексът подобрява четенето на кода.
Индексаторът често се използва за реализиране на стек, така че съдържанието му да бъде достъпно без премахване на елемент. Реализацията на Java индексатор е подобна на C #. Като цяло, индексаторите могат да се използват в библиотечния код поради тяхната лекота на използване и гъвкавост.
Техопедия обяснява Indexer
Въпреки че индексаторите са подобни на свойствата, те използват различни параметри. Свойствата се идентифицират по име, докато индексаторите се обозначават с подпис и използването на ключовата дума "това". Достъпа до свойствата може да става чрез членове, но до индексаторите се осъществява достъп до елементи. За разлика от свойствата, компилаторът на C # не позволява използването на статичен индексатор.
Индексаторът е удобен, тъй като неговите екземпляри от клас и структура са индексирани като масиви и използват нотация на скобите за достъп до елемент. Индексаторите са известни като интелигентни масиви. Аксесоари са компонентите на индексатора get и set, които позволяват съответно получаване на стойност и настройка. Въз основа на типа член, необходим за търсене, индексатор се декларира със съответния подпис. Ключовата дума „това“ се използва за определяне на индекси, а „Стойност“ се използва за задаване на зададения аксесоар.
Типът и параметрите на индексатора трябва да са също толкова достъпни, колкото и самият индексатор. Броят и типовете формални аргументи са известни с подписа на индексатора, но не и имената на типа или аргумента. Типът на връщане трябва да бъде валиден тип C #. Индексаторът трябва да има поне един параметър.
Класовите индекси могат да бъдат претоварени и да имат различни подписи. Тъй като индексаторите не се считат за променливи, те не могат да бъдат използвани като параметри "ref" или "out". Езикът на кръста използва елемента по подразбиране име, когато не е посочен в декларацията. Аксесоарите, реализирани с индексатори, могат да бъдат претоварени с няколко типа. Индексаторите позволяват преминаване на повече от един официален параметър, като например достъп до двуизмерен масив. Абстрактните индекси се реализират чрез просто деклариране на get / set аксесоарите в базовия клас и добавяне на получения код на класа.
Въпреки че индексаторите се използват и в интерфейсите, декларирането на класове се различава. Доставчиците на индексиращи интерфейси не използват модификатори и нямат тяло. Индексаторите се използват и в интерфейсите, за да посочат дали са само за четене, само за запис или за четене-запис. Съгласно указанията за проектиране, прилагането на правилната стратегия за обработка на грешки е от решаващо значение при използване на аксесоари get и set, в допълнение към предоставянето на необходимата документация за изключение на грешки за индексаторите. Ограничаването на аксесоара до необходимото ниво се препоръчва, за да се избегнат злонамерени зададени стойности. Това определение е написано в контекста на C #
