CodeTypeReference.BaseType Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia nazwę przywoływanego typu.
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
Wartość właściwości
Nazwa przywoływanego typu.
Uwagi
Ta właściwość zawiera nazwę typu, chyba że jest typem tablicy, w takim przypadku jest to typ elementu tablicy.
Uwaga
Nazwa właściwości może być myląca. Ta właściwość zawiera tylko nazwę typu z dowolnymi ozdobami tablicy lub argumentami typów ogólnych usuniętych, a nie typu podstawowego lub nadrzędnego, jak można się spodziewać. Na przykład wartość parametru BaseTypeSystem.Collections.Generic.Dictionary`2[[System.String], [System.Collections.Generic.List`1[[System.Int32]]]]
to System.Collections.Generic.Dictionary`2
.
Reprezentacja typów ogólnych
Informacje w tej sekcji są przeznaczone dla deweloperów dostawców CodeDom i dotyczą tylko języków zgodnych ze standardem CLS. Wartość zwracana może zawierać typy ogólne. Typy ogólne są formatowane z nazwą typu, po którym następuje akcent grobowy ("'"), po którym następuje liczba argumentów typu ogólnego. Argumenty typu ogólnego można znaleźć w zwracanej CodeTypeReferenceCollection przez TypeArguments właściwość . Wartości zwracane przez BaseType i skojarzone TypeArguments zawierają tę samą zawartość co wartość typu zwróconego przez odbicie.
Na przykład skonstruowany Dictionary<TKey,TValue> obiekt, w którym K
jest ciągiem i V
jest skonstruowany List<T> z liczb całkowitych, jest reprezentowany przez odbicie jako następujące (z usuniętymi informacjami o zestawie):
System.Collections.Generic.Dictionary`2[[System.String], [System.Collections.Generic.List`1[[System.Int32]]]]
Rekursywnie analizowanie BaseType właściwości z CodeTypeReference elementu for Dictionary<TKey,TValue> daje te same ciągi co reprezentacja odbicia powyżej:
Właściwość BaseType elementu nadrzędnego CodeTypeReference zwraca następujące elementy:
System.Collections.Generic.Dictionary`2
Właściwość BaseType pierwszego CodeTypeReference obiektu w kolekcji TypeArguments zwraca następujące elementy:
System.String
Właściwość BaseType drugiego CodeTypeReference obiektu w kolekcji TypeArguments zwraca następujące elementy:
System.Collections.Generic.List`1
Właściwość TypeArguments w CodeTypeReference obiekcie zwraca
System.Collections.Generic.List`1
następujące elementy:System.Int32
Liczba argumentów typu powinna być używana podczas analizowania skojarzonych TypeArguments wartości. Typowym rozwiązaniem jest usunięcie liczby argumentów typu z wygenerowanego kodu, ale praktyka jest specyficzna dla kompilatora. Należy pamiętać, że liczbę argumentów typu można znaleźć w zagnieżdżonej nazwie typu, w którym przypadku następuje znak plus ("+").
Uwaga
Podczas tworzenia ogólnego CodeTypeReference, zalecaną praktyką jest określenie argumentów typu jako CodeTypeReference obiektów lub użycie konstruktora, który przyjmuje Typewartość . Użycie konstruktora tworzącego element CodeTypeReference na podstawie ciągu może prowadzić do niepokrytych błędów argumentów typu.