Obsah:
Definice - Co znamená Indexer?
Indexátor v kontextu C # je člen třídy, který se používá k poskytování funkcí indexování typu pole pro snadný přístup k vlastnostem objektu. Indexer se většinou používá, když je pole zapouzdřeno v rámci typu.
Jednoduchá syntaxe indexeru pomáhá klientským aplikacím přistupovat ke skupinám prvků jako člen objektu pole (typ, třída nebo struktura). Indexer poskytuje nepřímou metodu vkládání logiky hraniční kontroly. Díky intuitivní povaze zlepšuje indexovatel čitelnost kódu.
K implementaci zásobníku se často používá indexátor, takže k jeho obsahu lze přistupovat bez odebrání položky. Implementace indexátoru Java je podobná jako C #. Obecně lze indexátory použít v kódu knihovny kvůli jejich snadnému použití a flexibilitě.
Techopedia vysvětluje Indexer
I když jsou ukazatele podobné vlastnostem, používají různé parametry. Vlastnosti jsou identifikovány jménem, zatímco indexátory jsou označeny podpisem a použitím klíčového slova „this“. K vlastnostem lze přistupovat prostřednictvím členů, ale k indexátorům se přistupuje prostřednictvím prvků. Na rozdíl od vlastností kompilátor C # neumožňuje použití statického indexátoru.
Indexer je vhodný, protože jeho instance třídy a struktury jsou indexovány jako pole a pomocí zápisu v závorce je přístup k prvku. Indexery jsou známé jako inteligentní pole. Přístupové prvky jsou komponenty indexování get a set, které umožňují načítání a nastavování hodnot. Na základě typu člena požadovaného pro vyhledávání je deklarován indexer s příslušným podpisem. Klíčové slovo „this“ se používá k definování indexerů a „Value“ se používá k přiřazení přístupového souboru sady.
Typ a parametry indexátoru by měly být stejně přístupné jako samotný indexer. Počet a typy formálních argumentů jsou známy podpisem indexátora, nikoli však typem nebo argumentem. Návratový typ by měl být platný typ C #. Indexátor musí mít alespoň jeden parametr.
Indexové ukazatele třídy mohou být přetíženy a mohou mít různé podpisy. Protože se ukazatele nepovažují za proměnné, nelze je použít jako parametry „ref“ nebo „out“. Křížový jazyk používá výchozí název Položka, není-li v prohlášení uvedeno. Přístupové prvky implementované pomocí indexátorů by mohly být přetíženy několika typy. Indexery umožňují předávání více než jednoho formálního parametru, například při přístupu k dvourozměrnému poli. Abstraktní indexátory jsou implementovány jednoduše deklarováním přístupových modulů get / set v základní třídě a přidáním odvozeného kódu třídy.
Ačkoli se indexery používají také v rozhraních, deklarace tříd se liší. Přístupové indexovací rozhraní nepoužívají modifikátory a nemají tělo. Indexery se také používají v rozhraních k označení, zda jsou určeny pouze pro čtení, pouze pro čtení nebo pro čtení a zápis. Podle pokynů pro návrh je implementace správné strategie zpracování chyb kritická při použití přístupových prvků get a set, kromě toho, že je požadována dokumentace pro výjimky chyb pro indexátory. Doporučuje se omezit přístupový přístup na požadovanou úroveň, aby se zabránilo škodlivým nastaveným hodnotám. Tato definice byla napsána v kontextu C #
