C# Generiske

0 Comments

Generisk betyr at den generelle formen, ikke bestemt. I C#, generisk betyr ikke spesifikke for en bestemt datatype.

C# kan du definere generiske klasser, grensesnitt, abstrakte klasser, felt,metoder, statiske metoder, egenskaper, hendelser, delegater, og operatører ved hjelp av parameter og uten bestemt datatype. En parameter er en plassholder for en bestemt type er angitt når du oppretter en forekomst av den generisk type.

En generisk type er deklarert ved å angi en parameter i en vinkel parentes etter navnet, f.eks., TypeName<T> der T er en parameter.

Generisk Klasse

Generiske klasser defineres ved hjelp av en parameter i en vinkel parentes etter klasse navn. Følgende definerer en generisk klasse.

Eksempel: Definere Generisk Klasse

Over, DataStore er det en generisk klasse., T kalles parameter, som kan brukes som en type felt, egenskaper, metode parametre, kan du gå tilbake typer, og delegater i DataStore klasse. For eksempel, Data er generisk eiendom fordi vi har brukt en parameter T som sin type i stedet for den spesifikke data type.

Obs!
Det er ikke nødvendig å bruke T som en parameter. Du kan gi navn til en parameter., Generelt, T brukes når det er bare en parameter. Det anbefales å bruke en mer lesbar parameter navn som per kravet som TSession, TKey, TValue osv. Les mer om Parameter Retningslinjer for Navngiving

Du kan også definere flere type parametre, atskilt med et komma.

å starte Generisk Klasse

Du kan opprette en forekomst av generiske klasser ved å angi en faktisk skriver i vinkelparenteser., Følgende oppretter en forekomst av den generiske klassen DataStore.

Over, vi er angitt string skriv i vinkelparenteser mens du oppretter en forekomst. Så, T vil bli erstattet med en string skriv uansett hvor T brukes i hele klassen på compile-time. Derfor, type Data eiendommen ville være en string.

følgende figur illustrerer hvordan er generiske fungerer.,

Du kan tilordne et string-verdi Data eiendom. Prøver å tilordne verdier annet enn string vil resultere i en compile-time feil.

Du kan angi ulike typer data, for forskjellige objekter, som vist nedenfor.

ANNONSERING

Generisk Klasse Egenskaper

  • En generisk klasse øker reusability. Mer type parametre betyr flere gjenbrukbare det blir., Men for mye generalisering gjør koden vanskelig å forstå og vedlikeholde.
  • En generisk klasse kan være en base klasse til andre generiske eller ikke-generiske klasser eller abstrakte klasser.
  • En generisk klasse kan være avledet fra andre generiske eller ikke-generisk grensesnitt, klasser eller abstrakte klasser.

Generisk Felt

En generisk klasse kan inneholde generisk felt. Men, det kan ikke initialiseres.

Eksempel: Generisk Feltet

følgende erklærer en generisk utvalg.,

Eksempel: Generell Matrise

Generiske Metoder

En metode erklærte med type-parametre for retur-type eller parametere kalles en generisk metode.

Over, AddorUpdate() og GetData() metoder er generiske metoder. Den faktiske data type item parameter vil være spesifisert på tidspunktet for å starte DataStore<T> – klassen, som vist nedenfor.,

Den generisk parameter type kan brukes med flere parametere med eller uten ikke-generiske parametre og returnere type. Followings er gyldig generisk metode overbelastning.

Et ikke-generisk klasse kan inneholde generiske metoder ved å angi en parameter i vinkelparenteser med metoden navn, som vist nedenfor.

Fordeler av Generiske

  1. Generiske øke reusability av koden. Du don t trenger å skrive kode for å håndtere ulike typer data.
  2. Generiske type-safe., Du får compile-time feil hvis du prøver å bruke en annen data type enn den som er angitt i definisjonen.
  3. Generisk har en ytelse fordel fordi det fjerner mulighetene for boksing og unboxing.


Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *