Com s'utilitza on (restricció de tipus genèric)

Com S Utilitza On Restriccio De Tipus Generic



Les restriccions de tipus genèric en C# permeten als desenvolupadors definir el conjunt de tipus que pot representar un paràmetre de tipus genèric. Aquesta característica permet al compilador aplicar la seguretat de tipus i evita errors que es puguin produir durant el temps d'execució. Una de les restriccions més utilitzades és la 'on' restricció, aquest article explicarà què és 'on' La restricció està en C# i com utilitzar-la al vostre codi.

Quina és la restricció 'on'.

El 'on' La restricció és una restricció de tipus genèric en C# que permet als desenvolupadors especificar el paràmetre de tipus que pot representar un tipus genèric. La restricció s'especifica mitjançant l' 'on' paraula clau seguida del paràmetre de tipus i la restricció, la sintaxi per utilitzar el 'on' la restricció és la següent:

classe pública ClassName < T > on T : restricció

{

// Implementació de classe

}

Aquí el 'Nom de la classe' representa el nom de la classe amb un paràmetre de tipus genèric 'T' . El 'on' paraula clau especifica la restricció per al paràmetre de tipus i el 'restricció' és el tipus que ha de representar el paràmetre de tipus.







Prenguem un exemple d'una classe genèrica que accepta un paràmetre de tipus i retorna el valor mínim d'una matriu de valors. Aquí el codi utilitza el 'on' restricció per especificar que el paràmetre de tipus ha de ser de tipus numèric:



utilitzant System ;

MinValue de classe pública < T > on T : estructura , IComparable , IConvertible

{

públic T GetMinValue ( T [ ] matriu )

{

si ( matriu == nul || matriu. Llargada == 0 ) {

llança una nova ArgumentException ( 'La matriu no pot ser nul·la o buida' ) ;

}

T min = matriu [ 0 ] ;

per ( int i = 1 ; i < matriu. Llargada ; i ++ ) {

si ( matriu [ i ] . Comparat amb ( min ) < 0 ) {

min = matriu [ i ] ;

}

}

tornar min ;

}

}

Programa de classe pública

{

públic estàtica buit Principal ( )

{

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

MinValue < int > intMinValue = nou MinValue < int > ( ) ;

int intMin = intMinValue. GetMinValue ( intArray ) ;

Consola. WriteLine ( 'Valor mínim d'intArray: {0}' , intMin ) ;

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

MinValue < doble > doubleMinValue = nou MinValue < doble > ( ) ;

doble doble min = doubleMinValue. GetMinValue ( doubleArray ) ;

Consola. WriteLine ( 'Valor mínim de doubleArray: {0}' , doble min ) ;

}

}

Aquí, hem definit una classe genèrica 'Valor mínim' que accepta un paràmetre de tipus 'T' i retorna el valor mínim d'una matriu de valors. A continuació, hem utilitzat el 'on' restricció per especificar que el paràmetre de tipus ha de ser una estructura, implementar la interfície IComparable i implementar la interfície IConvertible. Aquesta restricció garanteix que només es permetin els tipus numèrics com a paràmetres de tipus.



  Forma, rectangle Descripció generada automàticament





Conclusió

El 'on' La restricció en C# és una característica potent que permet als desenvolupadors fer complir la seguretat de tipus i evitar errors durant el temps d'execució. Mitjançant aquesta restricció, podeu especificar el conjunt de tipus que pot representar un paràmetre de tipus genèric. Aquest article ha proporcionat una visió general del 'on' restricció en C# i va demostrar com utilitzar-lo amb un codi.