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 из строки, может привести к неустранимым ошибкам аргумента типа.