CodeTypeReference.BaseType Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft den Namen des Typs ab, auf den verwiesen wird, oder legt diesen fest.
public:
property System::String ^ BaseType { System::String ^ get(); void set(System::String ^ value); };
public string BaseType { get; set; }
member this.BaseType : string with get, set
Public Property BaseType As String
Eigenschaftswert
Der Name der Typbibliothek, auf die verwiesen wird.
Hinweise
Diese Eigenschaft enthält den Namen des Typs, es sei denn, es handelt sich um einen Arraytyp, in diesem Fall ist es der Arrayelementtyp.
Hinweis
Der Name der Eigenschaft kann irreführend sein. Diese Eigenschaft enthält nur den Typnamen mit entfernten Arrayschmuck oder generischen Typargumenten, nicht wie erwartet den Basis- oder übergeordneten Typ. Der Wert für System.Collections.Generic.Dictionary`2[[System.String], [System.Collections.Generic.List`1[[System.Int32]]]]
ist z. BSystem.Collections.Generic.Dictionary`2
BaseType. .
Darstellung generischer Typen
Die Informationen in diesem Abschnitt sind für CodeDom-Anbieterentwickler bestimmt und gelten nur für CLS-kompatible Sprachen. Der Rückgabewert kann generische Typen enthalten. Generische Typen werden mit dem Namen des Typs formatiert, gefolgt von einem ernsten Akzent ("'") gefolgt von einer Anzahl der generischen Typargumente. Die generischen Typargumente finden Sie in dem, das CodeTypeReferenceCollection von der TypeArguments -Eigenschaft zurückgegeben wird. Die von BaseType zurückgegebenen und zugeordneten TypeArguments Werte enthalten denselben Inhalt wie der Wert des typs, der von reflektion zurückgegeben wird.
Beispielsweise wird ein konstruierter Dictionary<TKey,TValue> , wobei K
eine Zeichenfolge und V
eine Zusammenstellung List<T> ganzer Zahlen ist, durch Reflektion wie folgt dargestellt (wobei die Assemblyinformationen entfernt wurden):
System.Collections.Generic.Dictionary`2[[System.String], [System.Collections.Generic.List`1[[System.Int32]]]]
Das rekursive Analysieren der BaseType -Eigenschaft aus dem CodeTypeReference für Dictionary<TKey,TValue> ergibt dieselben Zeichenfolgen wie die obige Spiegelungsdarstellung:
Die BaseType Eigenschaft für das übergeordnete CodeTypeReference Element gibt Folgendes zurück:
System.Collections.Generic.Dictionary`2
Die BaseType -Eigenschaft für das erste CodeTypeReference Objekt in der TypeArguments Auflistung gibt Folgendes zurück:
System.String
Die BaseType Eigenschaft für das zweite CodeTypeReference Objekt in der TypeArguments Auflistung gibt Folgendes zurück:
System.Collections.Generic.List`1
Die TypeArguments -Eigenschaft im CodeTypeReference -Objekt für
System.Collections.Generic.List`1
gibt Folgendes zurück:System.Int32
Die Typargumentanzahl sollte beim Analysieren der zugeordneten TypeArguments Werte verwendet werden. Die gängige Praxis besteht darin, die Anzahl der Typargumente aus dem generierten Code zu entfernen, aber die Praxis ist compilerspezifisch. Es ist wichtig zu beachten, dass die Typargumentanzahl innerhalb eines geschachtelten Typnamens gefunden werden kann, in diesem Fall folgt ein Pluszeichen ("+").
Hinweis
Beim Erstellen eines generischen CodeTypeReferenceTyps wird empfohlen, die Typargumente als CodeTypeReference Objekte anzugeben oder den Konstruktor zu verwenden, der einen Typeakzeptiert. Die Verwendung des Konstruktors, der eine CodeTypeReference aus einer Zeichenfolge erstellt, kann zu nicht zu behebbaren Typargumentfehlern führen.