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.
Dient zum Abrufen oder Festlegen des Namens des Typs, auf den verwiesen wird.
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 des Typs, auf den verwiesen wird.
Hinweise
Diese Eigenschaft enthält den Namen des Typs, es sei denn, es handelt sich um einen Arraytyp, in diesem Fall handelt es sich um den Arrayelementtyp.
Hinweis
Der Name der Eigenschaft kann irreführend sein. Diese Eigenschaft enthält nur den Typnamen mit arrayzieren oder generischen Typargumenten entfernt, nicht den Basis- oder übergeordneten Typ, wie erwartet. Beispielsweise lautet System.Collections.Generic.Dictionary`2der BaseType Wert für System.Collections.Generic.Dictionary`2[[System.String], [System.Collections.Generic.List`1[[System.Int32]]]] .
Darstellung generischer Typen
Die Informationen in diesem Abschnitt sind für CodeDom-Anbieterentwickler vorgesehen 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 Gravisakzent ("'") gefolgt von einer Anzahl der generischen Typargumente. Die generischen Typargumente finden Sie in der CodeTypeReferenceCollection von der TypeArguments Eigenschaft zurückgegebenen. Die von BaseType und dem zugeordneten TypeArguments Wert zurückgegebenen Werte enthalten denselben Inhalt wie der Wert des Typs, der von Spiegelung zurückgegeben wird.
Beispielsweise wird eine konstruierte Dictionary<TKey,TValue> Stelle, bei K der es sich um eine Zeichenfolge handelt und V eine konstruierte List<T> ganze Zahl ist, durch Spiegelung wie folgt dargestellt (wobei die Assemblyinformationen entfernt werden):
System.Collections.Generic.Dictionary`2[[System.String], [System.Collections.Generic.List`1[[System.Int32]]]]
Rekursives Analysieren der BaseType Eigenschaft aus der CodeTypeReference Eigenschaft für Dictionary<TKey,TValue> ergibt die gleichen Zeichenfolgen wie die Spiegelungsdarstellung oben:
Die BaseType Eigenschaft für das übergeordnete Element CodeTypeReference gibt Folgendes zurück:
System.Collections.Generic.Dictionary`2Die BaseType Eigenschaft für das erste CodeTypeReference Objekt in der TypeArguments Auflistung gibt Folgendes zurück:
System.StringDie BaseType Eigenschaft für das zweite CodeTypeReference Objekt in der TypeArguments Auflistung gibt Folgendes zurück:
System.Collections.Generic.List`1Die TypeArguments Eigenschaft im CodeTypeReference Objekt für
System.Collections.Generic.List`1gibt Folgendes zurück:System.Int32
Die Typargumentanzahl sollte beim Analysieren der zugehörigen TypeArguments Werte verwendet werden. Die gängige Methode besteht darin, die Typargumentanzahl aus dem generierten Code zu entfernen, aber die Vorgehensweise 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 einer generischen CodeTypeReferenceMethode wird empfohlen, die Typargumente als CodeTypeReference Objekte anzugeben oder den Konstruktor zu verwenden, der eine Type. Die Verwendung des Konstruktors, der eine CodeTypeReference aus einer Zeichenfolge erstellt, kann zu nicht behebbaren Typargumentfehlern führen.