Kako uporabiti kje (splošna omejitev vrste)

Kako Uporabiti Kje Splosna Omejitev Vrste



Omejitve generičnih tipov v C# omogočajo razvijalcem, da definirajo niz vrst, ki jih lahko predstavlja parameter splošnega tipa. Ta funkcija omogoča prevajalniku, da uveljavi varnost tipov in prepreči napake, do katerih lahko pride med izvajanjem. Ena najpogosteje uporabljenih omejitev je 'kje' omejitev, bo ta članek pojasnil, kaj 'kje' omejitev je v C# in kako jo uporabiti v svoji kodi.

Kaj je omejitev »kje«.

The 'kje' omejitev je generična tipska omejitev v C#, ki razvijalcem omogoča, da določijo tipski parameter, ki ga lahko predstavlja generični tip. Omejitev je podana z uporabo 'kje' ključna beseda, ki ji sledita parameter tipa in omejitev, sintaksa za uporabo 'kje' omejitev je naslednja:

javni razred ClassName < T > kjer je T : omejitev

{

// Implementacija razreda

}

Tukaj je 'Ime razreda' predstavlja ime razreda s parametrom generičnega tipa 'T' . The 'kje' ključna beseda podaja omejitev za parameter tipa in 'omejitev' je tip, ki ga mora predstavljati parameter tipa.







Vzemimo primer generičnega razreda, ki sprejme parameter tipa in vrne najmanjšo vrednost iz niza vrednosti. Tukaj koda uporablja 'kje' omejitev, ki določa, da mora biti parameter tipa številskega tipa:



z uporabo sistema ;

javni razred MinValue < T > kjer je T : struct , IComparable , IConvertible

{

javni T GetMinValue ( T [ ] niz )

{

če ( niz == nič || niz. Dolžina == 0 ) {

vrzi novo izjemo argumenta ( 'Matrika ne more biti ničelna ali prazna' ) ;

}

T min = niz [ 0 ] ;

za ( int jaz = 1 ; jaz < niz. Dolžina ; jaz ++ ) {

če ( niz [ jaz ] . Primerjaj z ( min ) < 0 ) {

min = niz [ jaz ] ;

}

}

vrnitev min ;

}

}

program javnega razreda

{

javnosti statična praznina Glavni ( )

{

int [ ] intArray = { 1 , 2 , 3 , 4 , 5 } ;

MinVrednost < int > intMinValue = nova MinValue < int > ( ) ;

int intMin = intMinValue. GetMinValue ( intArray ) ;

Konzola. WriteLine ( 'Najmanjša vrednost intArray: {0}' , intMin ) ;

dvojno [ ] doubleArray = { 1.1 , 2.2 , 3.3 , 4.4 , 5.5 } ;

MinVrednost < dvojno > doubleMinValue = nova MinValue < dvojno > ( ) ;

dvojno dvojnaMin = doubleMinValue. GetMinValue ( doubleArray ) ;

Konzola. WriteLine ( 'Najmanjša vrednost doubleArray: {0}' , dvojnaMin ) ;

}

}

Tukaj smo definirali generični razred “MinValue” ki sprejme parameter tipa 'T' in vrne najmanjšo vrednost iz niza vrednosti. Nato smo uporabili 'kje' omejitev, da podate, da mora biti parameter tipa struktura, implementirajte vmesnik IComparable in implementirajte vmesnik IConvertible. Ta omejitev zagotavlja, da so kot parametri tipa dovoljeni samo številski tipi.



  Oblika, pravokotnik Opis samodejno ustvarjen





Zaključek

The 'kje' omejitev v C# je močna funkcija, ki razvijalcem omogoča, da uveljavijo varnost tipov in preprečijo napake med izvajanjem. Z uporabo te omejitve lahko podate niz tipov, ki jih lahko predstavlja parameter splošnega tipa. Ta članek je podal pregled 'kje' omejitev v C# in pokazal, kako jo uporabiti s kodo.