Domanda

Di recente ho letto un termine "tipo di vincolo nudo" nel contesto dei farmaci generici. Che lo fa significare? Dove le utilizziamo?

È stato utile?

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 "

http://msdn.microsoft.com/en-us/library/ d5x73970.aspx

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top