Che cosa significa il termine “tipo Nudo vincolo” si riferiscono a?
-
20-09-2019 - |
Domanda
Di recente ho letto un termine "tipo di vincolo nudo" nel contesto dei farmaci generici. Che lo fa significare? Dove le utilizziamo?
Soluzione
MSDN :
Constraint Description where T : U The type argument supplied for T must be or derive from the argument supplied for U. This is called a naked type constraint.
Quando un parametro di tipo generico è usato come un vincolo, si parla di un tipo di vincolo nudo. vincoli di tipo nudi sono utili quando una funzione membro con un proprio parametro type deve vincolare tale parametro al parametro di tipo del tipo contenente, come mostrato nel seguente esempio:
class List<T>
{
void Add<U>(List<U> items) where U : T {/*...*/}
}
Altri suggerimenti
Per inciso, è strano a me che questo termine un po 'salace è riuscito a farne la documentazione MSDN. Noi certamente non chiamiamo questi vincoli "tipo nudo vincoli" della squadra compilatore C # e sono rimasto scioccato, scioccato! alla scoperta di qualche anno fa che questo è quello che ha detto la documentazione. Noi di solito li chiamiamo "vincoli dei parametri tipo". Non ho idea di come salì la documentazione in primo luogo questo termine; probabilmente c'è una storia interessante lì.
"Quando un parametro di tipo generico è usato come un vincolo, viene chiamato un tipo di vincolo nudo. Tipo nudo vincoli sono utili quando una funzione membro con un proprio parametro type deve vincolare tale parametro al parametro di tipo del tipo contenente "