CodeTypeReference.BaseType 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置所引用的类型的名称。
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 的语言。 返回值可以包含泛型类型。 泛型类型的格式为类型名称,后跟重音 (“”) 后跟泛型类型参数的计数。 可以在 属性返回的 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]]]]
以递归方式分析 来自 CodeTypeReference 的 BaseTypeDictionary<TKey,TValue> 属性,生成的字符串与上述反射表示形式相同:
BaseType父CodeTypeReference级的 属性返回以下内容:
System.Collections.Generic.Dictionary`2
BaseType集合中TypeArguments第一个CodeTypeReference对象的 属性返回以下内容:
System.String
BaseType集合中TypeArguments第二个CodeTypeReference对象的 属性返回以下内容:
System.Collections.Generic.List`1
TypeArguments的
System.Collections.Generic.List`1
对象中的 CodeTypeReference 属性返回以下内容:System.Int32
分析关联的 TypeArguments 值时,应使用类型参数计数。 常见做法是从生成的代码中删除类型参数计数,但这种做法特定于编译器。 请务必注意,类型参数计数可以在嵌套类型名称中找到,在这种情况下,它后跟加号 (“+”) 。
注意
创建泛型 CodeTypeReference时,建议的做法是将类型参数指定为 CodeTypeReference 对象,或使用采用 Type的构造函数。 使用从字符串创建 CodeTypeReference 的构造函数可能会导致无法发现的类型参数错误。