Поделиться через


CodeTypeReference.BaseType Свойство

Определение

Возвращает или задает имя типа, на который ссылается ссылка.

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

Значение свойства

Имя типа, на который ссылается ссылка.

Комментарии

Это свойство содержит имя типа, если он не является типом массива, в этом случае это тип элемента массива.

Замечание

Имя свойства может вводить в заблуждение. Это свойство содержит только имя типа с любым украшением массива или аргументами универсального типа, удаленными, а не базовым или родительским типом, как можно ожидать. Например, BaseType значение для System.Collections.Generic.Dictionary`2[[System.String], [System.Collections.Generic.List`1[[System.Int32]]]] этого System.Collections.Generic.Dictionary`2параметра.

Представление универсальных типов

Сведения в этом разделе предназначены для разработчиков поставщика CodeDom и применяются только к языкам, совместимым с CLS. Возвращаемое значение может содержать универсальные типы. Универсальные типы форматируются с именем типа, за которым следует серьезный акцент ("") и число аргументов универсального типа. Аргументы универсального CodeTypeReferenceCollection типа можно найти в возвращаемом свойстве TypeArguments . Значения, возвращаемые BaseType и связанные TypeArguments , содержат то же содержимое, что и значение типа, возвращаемого отражением.

Например, построенный Dictionary<TKey,TValue> , где K является строка и V представляет собой List<T> целочисленное целое число, представлено отражением следующим образом (с удаленными сведениями о сборке):

System.Collections.Generic.Dictionary`2[[System.String], [System.Collections.Generic.List`1[[System.Int32]]]]

Рекурсивно синтаксический анализ BaseType свойства из объекта CodeTypeReference для Dictionary<TKey,TValue> получения той же строки, что и представление отражения выше:

  • Свойство BaseType родительского объекта CodeTypeReference возвращает следующее:

    System.Collections.Generic.Dictionary`2
    
  • Свойство BaseType первого CodeTypeReference объекта в TypeArguments коллекции возвращает следующее:

    System.String
    
  • Свойство BaseType второго CodeTypeReference объекта в TypeArguments коллекции возвращает следующее:

    System.Collections.Generic.List`1
    
  • Свойство TypeArguments в объекте CodeTypeReference возвращает System.Collections.Generic.List`1 следующее:

    System.Int32
    

Число аргументов типа следует использовать при анализе связанных TypeArguments значений. Обычно рекомендуется удалить число аргументов типа из созданного кода, но эта практика зависит от компилятора. Важно отметить, что число аргументов типа можно найти в имени вложенного типа, в этом случае за ним следует знак плюса ("+").

Замечание

При создании универсальной CodeTypeReferenceрекомендуется указать аргументы типа в качестве CodeTypeReference объектов или использовать конструктор, который принимает Type. Использование конструктора, создающего CodeTypeReference из строки, может привести к неустранимым ошибкам аргумента типа.

Применяется к