In C # was bedeutet 1 nach IEnumerable in System.Collections.Generic.IEnumerable'1

8

Was bedeutet 1 nach IEnumerable in: System.Collections.Generic.IEnumerable'1

?     
SarkarG 27.05.2013, 07:22
quelle

2 Antworten

18

Es ist die generische Arität des Typs, oder anders ausgedrückt, die Anzahl der Typparameter, die ein generischer Typ unterstützt. IEnumerable<T> unterstützt einen einzelnen Typparameter. Wenn Sie Dictionary<TKey, TValue> betrachten würden, würden Sie einen Arity-Wert von 2 bemerken.

    
Anthony Pegram 27.05.2013, 07:24
quelle
2

Innerhalb des .NET-Typsystems müssen Typen eindeutige Namen haben. Obwohl nur Instanzen von gebundenen generischen Typen erstellt werden können (z. B. IEnumerable<System.Int32> oder IEnumerable<System.String> ), kann der ungebundene generische Typ in bestimmten Kontexten verwendet werden. In der Sprache C # würde ein solcher Typ als IEnumerable<> geschrieben werden, aber innerhalb des Typsystems wird er als IEnumerable~1 [~ angegeben, um Formatprobleme zu vermeiden]. Beachten Sie, dass der Name des gebundenen generischen Typs mit dem Namen des ungebundenen Typs beginnt. Wenn also das ungebundene Generic im Typsystem IEnumerable<> genannt würde, müsste der Name des gebundenen generischen Typs mit IEnumerable<> , einschließlich der Vorzeichen kleiner als größer als .

    
supercat 31.05.2013 19:50
quelle

Tags und Links