C # Generics (Magyar)

0 Comments

Generic azt jelenti, az általános forma, nem specifikus. A C# – ban a generikus azt jelenti, hogy nem specifikus egy adott adattípusra.

C # lehetővé teszi általános osztályok, interfészek, absztrakt osztályok, mezők,módszerek, statikus módszerek, tulajdonságok, események, küldöttek és operátorok meghatározását a típusparaméter segítségével, a konkrét adattípus nélkül. A típusparaméter a generikus típus példányának létrehozásakor megadott adott típus helyőrzője.

egy általános típust úgy deklarálnak, hogy egy típusnevet zárójelben egy típusparamétert adnak meg, pl., TypeName<T>ahol T egy típusparaméter.

generikus osztály

a generikus osztályokat egy típusparaméterrel definiáljuk szögletes zárójelben az osztály neve után. Az alábbiakban egy általános osztályt határozunk meg.

példa: Általános Osztály definiálása

felett, a DataStore általános osztály., T type paraméternek nevezzük, amely a DataStore osztály mezőinek, tulajdonságainak, módszerparamétereinek, visszatérési típusainak és küldeményeinek típusaként használható. Például aData Generikus tulajdonság, mivel az adott adattípus helyett aT típusparamétert használtuk.

Megjegyzés
nem szükséges a T típusparaméterként használni. Bármely nevet megadhat egy típusparaméternek., Általában T akkor használatos, ha csak egy típusparaméter van. Ajánlott egy olvashatóbb típusparaméter nevet használni, mint például a TSession, TKey, TValue stb. Tudjon meg többet a Típusparaméterek elnevezési Irányelveiről

Több típusparamétert is meghatározhat vesszővel elválasztva.

generikus osztály

Generikus osztályok példányát hozhatja létre egy tényleges típus szögletes zárójelben történő megadásával., A következő létrehoz egy példányt a generikus osztály DataStore.

fent megadtuk a string írja be a szögletes zárójelbe egy példány létrehozása közben. Tehát a T helyébe egy string típus lép, ahol T fordításkor az egész osztályban használják. Ezért a Data tulajdonság típusa a string.

az alábbi ábra szemlélteti a generikumok működését.,

karakterláncértéket rendelhet a Data tulajdonsághoz. A karakterlánctól eltérő értékek hozzárendelése fordítási hibát eredményez.

megadhatja a különböző objektumok különböző adattípusait, az alábbiak szerint.

reklám

Általános Osztályjellemzők

  • egy generikus osztály növeli az újrafelhasználhatóságot. A több típusparaméter azt jelenti, hogy újrafelhasználható lesz., A túl sok általánosítás azonban megnehezíti a kód megértését és fenntartását.
  • a generikus osztály lehet alaposztály más generikus vagy nem Generikus osztályokhoz vagy absztrakt osztályokhoz.
  • a generikus osztály származhat más generikus vagy nem Generikus interfészekből, osztályokból vagy absztrakt osztályokból.

Generikus mezők

egy generikus osztály tartalmazhat Generikus mezőket. Ezt azonban nem lehet inicializálni.

példa: Generikus mező

a következő általános tömböt deklarál.,

példa: Generikus tömb

Generikus módszerek

a visszatérési típus vagy paraméterek típusparamétereivel deklarált módszert Generikus módszernek nevezzük.

fent a AddorUpdate()és a GetData() módszerek Generikus módszerek. A item paraméter tényleges adattípusa aDataStore<T> osztály példányosításakor kerül meghatározásra, az alábbiak szerint.,

a generikus paramétertípus több paraméterrel használható, nem Generikus paraméterekkel vagy anélkül, valamint visszatérési típussal. Az alábbiak érvényes általános módszer túlterhelés.

egy nem generikus osztály tartalmazhat Generikus módszereket úgy, hogy egy típusparamétert szögletes zárójelben határoz meg a módszer nevével, az alábbiak szerint.

A generikumok előnyei

  1. a generikumok növelik a kód újrafelhasználhatóságát. Nem kell kódot írni a különböző adattípusok kezeléséhez.
  2. a generikumok típusbiztonságosak., Fordítási időhibákat kap, ha más adattípust próbál használni, mint a definícióban megadott.
  3. a Genericnek azért van teljesítményelőnye, mert eltávolítja a boksz és a boksz lehetőségét.


Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük