C # Generics (Čeština)

0 Comments

Generic znamená obecnou formu, nikoli specifickou. V C#, generické prostředky nejsou specifické pro konkrétní datový typ.

C# umožňuje definovat generické třídy, rozhraní, abstraktní třídy, pole,metody, statické metody, vlastnosti, události, delegáti, a provozovatelé používající typ parametru a bez konkrétní datový typ. Parametr typu je zástupný symbol pro určitý typ zadaný při vytváření instance generického typu.

obecný typ je deklarován zadáním parametru typu v úhlových závorkách za názvem typu, např., TypeName<T> kdeT je typový parametr.

generická Třída

generické třídy jsou definovány pomocí parametru typu v úhlových závorkách za názvem třídy. Následující definuje obecnou třídu.

Příklad: Definovat Generické Třídy

Nad DataStore je generická třída., T se nazývá parametr typu, který může být použit jako typ pole, vlastnosti, metody, parametry, návratové typy, a delegáti v DataStore třídy. Například Data je obecná vlastnost, protože jsme použili parametr type T jako jeho typ, místo konkrétní datový typ.

Poznámka
jako typový parametr není nutné používatT. Můžete zadat libovolný název parametru typu., Obecně platí, že T se používá, pokud existuje pouze jeden typový parametr. Doporučuje se použít více čitelný typ parametru název dle požadavku jako TSession TKey TValue atd. Další informace o pokynech pro pojmenování parametrů

můžete také definovat více parametrů typu oddělených čárkou.

instance Generic Class

instanci generických tříd můžete vytvořit zadáním skutečného typu v úhlových závorkách., Následující vytvoří instanci generické třídy DataStore.

Výše uvedené, jsme specifikovali string typu v lomených závorkách při vytváření instance. Tak, T bude nahrazen string typ kdekoli T se používá v celé třídě v compile-time. Typ vlastnosti Data by tedy byl string.

následující obrázek ukazuje, jak generika funguje.,

můžete přiřadit hodnotu řetězce Data majetku. Pokus o přiřazení jiných hodnot než řetězce bude mít za následek chybu kompilace.

můžete určit různé datové typy pro různé objekty, jak je uvedeno níže.

REKLAMA

Generické Třídy Vlastnosti

  • generické třídy zvyšuje znovupoužitelnost. Čím více parametrů typu znamená více opakovaně použitelné., Přílišná zobecnění však ztěžuje pochopení a udržení kódu.
  • generická třída může být základní třídou pro jiné generické nebo nerodické třídy nebo abstraktní třídy.
  • generická třída může být odvozena z jiných generických nebo generických rozhraní, tříd nebo abstraktních tříd.

generická pole

obecná třída může obsahovat obecná pole. Nelze jej však inicializovat.

Příklad: Generic Oblasti

následující deklaruje generic array.,

Příklad: Generic Array

Obecné Metody

metoda deklarována s parametry typu pro její návratový typ nebo parametry, se nazývá generická metoda.

výše,AddorUpdate() aGetData() metody jsou obecné metody. Skutečný datový typ parametru item bude zadán v době instalace DataStore<T>, jak je uvedeno níže.,

typ generického parametru lze použít s více parametry s nebo bez generických parametrů a typu návratu. Následující jsou platné generické metody přetížení.

nerodická třída může zahrnovat obecné metody zadáním parametru typu v úhlových závorkách s názvem metody, jak je uvedeno níže.

výhody generik

  1. generik zvyšují opakovatelnost kódu. Nemusíte psát kód pro zpracování různých datových typů. generika
  2. jsou typově bezpečná., Pokud se pokusíte použít jiný typ dat, než je ten, který je uveden v definici, získáte chyby v době kompilace.
  3. Generic má výkonnostní výhodu, protože odstraňuje možnosti boxu a rozbalení.


Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *