Was bedeutet der Begriff „Einschränkung Naked Typ“ beziehen sich auf?
-
20-09-2019 - |
Frage
Vor kurzem habe ich einen Begriff „nackt Art Zwang“ im Kontext von Generics lesen. Was macht es bedeuten? Wo nutzen wir es?
Lösung
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.
Wenn ein generischer Typ Parameter als Einschränkung verwendet wird, wird es ein nackter Typ Zwang genannt. Naked-Typ Einschränkungen sind nützlich, wenn eine Elementfunktion mit einem eigenen Typ Parameter, die Parameter der Typ-Parameter des Behältertypen zu beschränken hat, wie im folgende Beispiel gezeigt:
class List<T>
{
void Add<U>(List<U> items) where U : T {/*...*/}
}
Andere Tipps
Als beiseite, ist es mir seltsam, dass dies etwas anzügliche Begriff schafft es in die MSDN-Dokumentation zu machen. Wir nennen sicherlich nicht über diese Einschränkungen „nackten Typen Einschränkungen“ auf dem C # -Compiler Team und ich war schockiert, schockiert! Vor ein paar Jahren, dass das ist, was die Dokumentation sagte zu entdecken. Wir nennen sie in der Regel „geben Parametereinschränkungen“. Ich habe keine Ahnung, wie dieser Begriff in die Dokumentation in dem ersten Platz; gibt es wahrscheinlich eine interessante Geschichte gibt.
"Wenn ein generischer Typ Parameter als Einschränkung verwendet wird, wird es eine nackte Typ Einschränkung genannt. Naked Typ Einschränkungen nützlich, wenn eine Elementfunktion mit einem eigenen Typ Parameter, den Parameter auf die Typ-Parameter des enthaltenden Typs zu beschränken hat „