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

属性值

所引用的类型的名称。

注解

此属性包含类型的名称,除非它是数组类型,在这种情况下,它是数组元素类型。

注意

属性的名称可能会具有误导性。 此属性仅包含删除了任何数组装饰或泛型类型参数的类型名称,而不是预期的基类型或父类型。 例如, BaseTypeSystem.Collections.Generic.Dictionary`2[[System.String], [System.Collections.Generic.List`1[[System.Int32]]]]System.Collections.Generic.Dictionary`2值为 。

泛型类型的表示形式

本部分中的信息适用于 CodeDom 提供程序开发人员,仅适用于符合 CLS 的语言。 返回值可以包含泛型类型。 泛型类型采用类型名称的格式,后跟重音符 (“'”) 后跟泛型类型参数的计数。 可以在 属性返回的 TypeArguments 中找到CodeTypeReferenceCollection泛型类型参数。 和 BaseType 关联的 TypeArguments 返回的值包含与反射返回的类型值相同的内容。

例如,构造 Dictionary<TKey,TValue> 的 ,其中 K 是字符串, V 而 构造 List<T> 的整数则由反射表示为以下 (,其中删除了程序集信息) :

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

以递归方式分析 BaseType 来自 CodeTypeReferenceDictionary<TKey,TValue> 属性,生成的字符串与上述反射表示形式相同:

分析关联的 TypeArguments 值时,应使用类型参数计数。 常见做法是从生成的代码中删除类型参数计数,但这种做法特定于编译器。 请务必注意,类型参数计数可以在嵌套类型名称中找到,在这种情况下,它后跟加号 (“+”) 。

注意

创建泛型 CodeTypeReference时,建议的做法是将类型参数指定为 CodeTypeReference 对象,或使用采用 Type的构造函数。 使用从字符串创建 CodeTypeReference 的构造函数可能会导致无法发现的类型参数错误。

适用于