CodeTypeReference.BaseType Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví název typu, na který se odkazuje.
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
Hodnota vlastnosti
Název odkazovaného typu.
Poznámky
Tato vlastnost obsahuje název typu, pokud se nejedná o typ pole. V takovém případě se jedná o typ prvku pole.
Poznámka
Název vlastnosti může být zavádějící. Tato vlastnost obsahuje pouze název typu s libovolnými doplňky pole nebo odebranými argumenty obecného typu, nikoli základní nebo nadřazený typ, jak by se dalo očekávat. BaseType Například hodnota pro System.Collections.Generic.Dictionary`2[[System.String], [System.Collections.Generic.List`1[[System.Int32]]]]
je System.Collections.Generic.Dictionary`2
.
Reprezentace obecných typů
Informace v této části jsou určené pro vývojáře zprostředkovatele CodeDom a platí pouze pro jazyky kompatibilní se specifikací CLS. Vrácená hodnota může obsahovat obecné typy. Obecné typy jsou formátovány s názvem typu následovaným čárkou ("'") následovaným počtem argumentů obecného typu. Argumenty obecného typu najdete v argumentu CodeTypeReferenceCollection vráceného TypeArguments vlastností . Hodnoty vrácené funkcí BaseType a přidružené TypeArguments obsahují stejný obsah jako hodnota typu vráceného reflexí.
Například vytvořená Dictionary<TKey,TValue> , kde K
je řetězec a V
je tvořena List<T> celými čísly, je reprezentována reflexí jako následující (s odebranými informacemi o sestavení):
System.Collections.Generic.Dictionary`2[[System.String], [System.Collections.Generic.List`1[[System.Int32]]]]
Rekurzivní analýza BaseType vlastnosti z CodeTypeReference for Dictionary<TKey,TValue> získá stejné řetězce jako výše uvedená reprezentace reflexe:
Vlastnost BaseType nadřazeného objektu CodeTypeReference vrátí následující:
System.Collections.Generic.Dictionary`2
Vlastnost BaseType prvního CodeTypeReference objektu v kolekci TypeArguments vrátí následující:
System.String
Vlastnost BaseType druhého CodeTypeReference objektu v kolekci TypeArguments vrátí následující:
System.Collections.Generic.List`1
Vlastnost TypeArguments v objektu CodeTypeReference pro
System.Collections.Generic.List`1
vrátí následující:System.Int32
Při analýze přidružených TypeArguments hodnot by se měl použít počet argumentů typu. Běžným postupem je odebrání počtu argumentů typu z vygenerovaného kódu, ale praxe je specifická pro kompilátor. Je důležité si uvědomit, že počet argumentů typu se nachází ve vnořeném názvu typu. V takovém případě za ním následuje znaménko plus ("+").
Poznámka
Při vytváření obecného CodeTypeReferenceobjektu se doporučuje zadat argumenty typu jako CodeTypeReference objekty nebo použít konstruktor, který přebírá Type. Použití konstruktoru, který vytvoří CodeTypeReference z řetězce, může vést k nezoznaným chybám argumentu typu.