TypeDelegator 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
包装 Type 对象并将方法委托给该 Type
。
public ref class TypeDelegator : System::Reflection::TypeInfo
public ref class TypeDelegator : Type
public class TypeDelegator : System.Reflection.TypeInfo
[System.Serializable]
public class TypeDelegator : Type
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class TypeDelegator : Type
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class TypeDelegator : System.Reflection.TypeInfo
type TypeDelegator = class
inherit TypeInfo
[<System.Serializable>]
type TypeDelegator = class
inherit Type
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type TypeDelegator = class
inherit Type
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type TypeDelegator = class
inherit TypeInfo
Public Class TypeDelegator
Inherits TypeInfo
Public Class TypeDelegator
Inherits Type
- 继承
- 继承
- 属性
注解
派生自此类型,并仅重写必须在其中提供自定义项的成员,以及程序所需的任何成员,并且尚未由 TypeDelegator实现。
TypeDelegator 派生自 System.Type,并实现 Type的大部分属性和方法。 对于它实现的每个成员,TypeDelegator 会自动委托给内部 Type 对象的相应成员,该成员作为构造函数的参数提供。 此内部 Type 对象由 protected
typeImpl 字段向派生类公开。
注意
尽管成员本身只是继承自 Type,但 TypeDelegator 的某些成员也有实现。 在这些情况下,实现由重写的 protected
方法提供,该方法的名称以“Impl”结尾。 例如,重写 GetMethodImpl 方法提供 GetMethods 方法的所有重载的实现。 重写 GetAttributeFlagsImpl 方法提供了继承属性(如 IsPublic 和 IsNestedAssembly)的实现。
派生类可以提供一个公共构造函数,该构造函数采用 Type 对象作为其参数,只需将该对象传递给 TypeDelegator(Type) 构造函数,也可以以某种其他方式设置内部 Type 对象。
如果派生类使用 TypeDelegator未实现的成员,则必须重写该成员并提供实现。 最简单的实现是在 typeImpl 字段公开的内部 Type 对象上调用相应的成员,但可以提供应用程序所需的任何实现。 如果应用程序或库函数未使用这些成员(例如,由 CodeTypeReference.CodeTypeReference(Type) 构造函数使用),则无需重写这些成员。
Type 的以下虚拟方法(visual Basic 中的Overridable
方法)不由 TypeDelegator实现:MakeGenericType、GetGenericTypeDefinition、GetGenericArguments、GetGenericParameterConstraints、MakeArrayType、MakeByRefType、MakePointerType、GetEnumNames、GetEnumValues、GetEnumUnderlyingType、GetTypeCodeImpl、IsEnumDefined、IsEquivalentTo。
Type 的以下虚拟属性(visual Basic 中的Overridable
属性)不由 TypeDelegator实现:IsGenericType、IsGenericTypeDefinition、IsGenericParameter、ContainsGenericParameters、DeclaringMethod、GenericParameterAttributes、GenericParameterPosition、IsSecurityCritical、IsSecuritySafeCritical、IsSecurityTransparent。
构造函数
TypeDelegator() |
使用默认属性初始化 TypeDelegator 类的新实例。 |
TypeDelegator(Type) |
初始化指定封装实例的 TypeDelegator 类的新实例。 |
字段
typeImpl |
指示类型信息的值。 |
属性
Assembly |
获取实现类型的程序集。 |
AssemblyQualifiedName |
获取程序集的完全限定名称。 |
Attributes |
包装 Type 对象并将方法委托给该 |
Attributes |
获取与 Type关联的属性。 (继承自 Type) |
BaseType |
获取当前类型的基类型。 |
ContainsGenericParameters |
包装 Type 对象并将方法委托给该 |
ContainsGenericParameters |
获取一个值,该值指示当前 Type 对象是否具有尚未被特定类型替换的类型参数。 (继承自 Type) |
CustomAttributes |
获取包含此成员的自定义属性的集合。 (继承自 MemberInfo) |
DeclaredConstructors |
获取由当前类型声明的构造函数的集合。 (继承自 TypeInfo) |
DeclaredEvents |
获取由当前类型定义的事件的集合。 (继承自 TypeInfo) |
DeclaredFields |
获取由当前类型定义的字段的集合。 (继承自 TypeInfo) |
DeclaredMembers |
获取由当前类型定义的成员的集合。 (继承自 TypeInfo) |
DeclaredMethods |
获取由当前类型定义的方法的集合。 (继承自 TypeInfo) |
DeclaredNestedTypes |
获取由当前类型定义的嵌套类型的集合。 (继承自 TypeInfo) |
DeclaredProperties |
获取由当前类型定义的属性的集合。 (继承自 TypeInfo) |
DeclaringMethod |
包装 Type 对象并将方法委托给该 |
DeclaringMethod |
获取表示声明方法的 MethodBase(如果当前 Type 表示泛型方法的类型参数)。 (继承自 Type) |
DeclaringType |
获取声明当前嵌套类型或泛型类型参数的类型。 (继承自 Type) |
FullName |
获取实现类型的完全限定名称。 |
GenericParameterAttributes |
包装 Type 对象并将方法委托给该 |
GenericParameterAttributes |
获取描述当前泛型类型参数协变和特殊约束的 GenericParameterAttributes 标志的组合。 (继承自 Type) |
GenericParameterPosition |
包装 Type 对象并将方法委托给该 |
GenericParameterPosition |
获取类型参数在声明参数的泛型类型或方法的类型参数列表中的位置,当 Type 对象表示泛型类型或泛型方法的类型参数时。 (继承自 Type) |
GenericTypeArguments |
包装 Type 对象并将方法委托给该 |
GenericTypeArguments |
获取此类型的泛型类型参数的数组。 (继承自 Type) |
GenericTypeParameters |
获取当前实例的泛型类型参数的数组。 (继承自 TypeInfo) |
GUID |
获取实现类型的 GUID(全局唯一标识符)。 |
HasElementType |
包装 Type 对象并将方法委托给该 |
HasElementType |
获取一个值,该值指示当前 Type 是包含还是引用另一种类型;也就是说,当前 Type 是数组、指针还是通过引用传递。 (继承自 Type) |
ImplementedInterfaces |
获取由当前类型实现的接口的集合。 (继承自 TypeInfo) |
IsAbstract |
包装 Type 对象并将方法委托给该 |
IsAbstract |
获取一个值,该值指示 Type 是否是抽象的,必须重写。 (继承自 Type) |
IsAnsiClass |
包装 Type 对象并将方法委托给该 |
IsAnsiClass |
获取一个值,该值指示是否为 Type选择了字符串格式属性 |
IsArray |
包装 Type 对象并将方法委托给该 |
IsArray |
获取一个值,该值指示类型是否为数组。 (继承自 Type) |
IsAutoClass |
包装 Type 对象并将方法委托给该 |
IsAutoClass |
获取一个值,该值指示是否为 Type选择了字符串格式属性 |
IsAutoLayout |
包装 Type 对象并将方法委托给该 |
IsAutoLayout |
获取一个值,该值指示当前类型的字段是否由公共语言运行时自动布局。 (继承自 Type) |
IsByRef |
包装 Type 对象并将方法委托给该 |
IsByRef |
获取一个值,该值指示是否通过引用传递 Type。 (继承自 Type) |
IsByRefLike |
包装 Type 对象并将方法委托给该 |
IsByRefLike |
获取一个值,该值指示类型是否为类似 byref 的结构。 (继承自 Type) |
IsClass |
包装 Type 对象并将方法委托给该 |
IsClass |
获取一个值,该值指示 Type 是类还是委托;不是值类型或接口。 (继承自 Type) |
IsCollectible |
获取此对象的 typeImpl的 IsCollectible 值,该值指示此对象是否是 MemberInfo 实现,是可收集 AssemblyLoadContext中保存的程序集的一部分。 |
IsCollectible |
获取一个值,该值指示此 MemberInfo 对象是否是可收集 AssemblyLoadContext中保存的程序集的一部分。 (继承自 MemberInfo) |
IsCOMObject |
包装 Type 对象并将方法委托给该 |
IsCOMObject |
获取一个值,该值指示 Type 是否为 COM 对象。 (继承自 Type) |
IsConstructedGenericType |
获取一个值,该值指示此对象是否表示构造的泛型类型。 |
IsConstructedGenericType |
获取一个值,该值指示此对象是否表示构造的泛型类型。 可以创建构造泛型类型的实例。 (继承自 Type) |
IsContextful |
获取一个值,该值指示是否可以在上下文中托管 Type。 (继承自 Type) |
IsEnum |
包装 Type 对象并将方法委托给该 |
IsEnum |
获取一个值,该值指示当前 Type 是否表示枚举。 (继承自 Type) |
IsExplicitLayout |
包装 Type 对象并将方法委托给该 |
IsExplicitLayout |
获取一个值,该值指示当前类型的字段是否以显式指定的偏移量布局。 (继承自 Type) |
IsFunctionPointer |
获取一个值,该值指示当前 Type 是否为函数指针。 |
IsFunctionPointer |
获取一个值,该值指示当前 Type 是否为函数指针。 (继承自 Type) |
IsGenericMethodParameter |
包装 Type 对象并将方法委托给该 |
IsGenericMethodParameter |
获取一个值,该值指示当前 Type 是否表示泛型方法定义中的类型参数。 (继承自 Type) |
IsGenericParameter |
包装 Type 对象并将方法委托给该 |
IsGenericParameter |
获取一个值,该值指示当前 Type 是否表示泛型类型或方法的定义中的类型参数。 (继承自 Type) |
IsGenericType |
包装 Type 对象并将方法委托给该 |
IsGenericType |
获取一个值,该值指示当前类型是否为泛型类型。 (继承自 Type) |
IsGenericTypeDefinition |
包装 Type 对象并将方法委托给该 |
IsGenericTypeDefinition |
获取一个值,该值指示当前 Type 是否表示可构造其他泛型类型的泛型类型定义。 (继承自 Type) |
IsGenericTypeParameter |
包装 Type 对象并将方法委托给该 |
IsGenericTypeParameter |
获取一个值,该值指示当前 Type 是否表示泛型类型的定义中的类型参数。 (继承自 Type) |
IsImport |
包装 Type 对象并将方法委托给该 |
IsImport |
获取一个值,该值指示 Type 是否应用了 ComImportAttribute 属性,指示它是从 COM 类型库导入的。 (继承自 Type) |
IsInterface |
包装 Type 对象并将方法委托给该 |
IsInterface |
获取一个值,该值指示 Type 是否为接口;不是类或值类型。 (继承自 Type) |
IsLayoutSequential |
包装 Type 对象并将方法委托给该 |
IsLayoutSequential |
获取一个值,该值指示当前类型的字段是按顺序排列的,是按照定义或发出给元数据的顺序排列的。 (继承自 Type) |
IsMarshalByRef |
包装 Type 对象并将方法委托给该 |
IsMarshalByRef |
获取一个值,该值指示是否按引用封送 Type。 (继承自 Type) |
IsNested |
包装 Type 对象并将方法委托给该 |
IsNested |
获取一个值,该值指示当前 Type 对象是否表示其定义嵌套在另一类型的定义中的类型。 (继承自 Type) |
IsNestedAssembly |
包装 Type 对象并将方法委托给该 |
IsNestedAssembly |
获取一个值,该值指示 Type 是否嵌套且仅在其自己的程序集内可见。 (继承自 Type) |
IsNestedFamANDAssem |
包装 Type 对象并将方法委托给该 |
IsNestedFamANDAssem |
获取一个值,该值指示 Type 是否嵌套,并且仅对属于其自己的系列和自己的程序集的类可见。 (继承自 Type) |
IsNestedFamily |
包装 Type 对象并将方法委托给该 |
IsNestedFamily |
获取一个值,该值指示 Type 是否嵌套并在其自己的系列内可见。 (继承自 Type) |
IsNestedFamORAssem |
包装 Type 对象并将方法委托给该 |
IsNestedFamORAssem |
获取一个值,该值指示 Type 是嵌套的,并且仅对属于其自己的系列或其自己的程序集的类可见。 (继承自 Type) |
IsNestedPrivate |
包装 Type 对象并将方法委托给该 |
IsNestedPrivate |
获取一个值,该值指示 Type 是否嵌套并声明为私有。 (继承自 Type) |
IsNestedPublic |
包装 Type 对象并将方法委托给该 |
IsNestedPublic |
获取一个值,该值指示类是否嵌套并声明为公共类。 (继承自 Type) |
IsNotPublic |
包装 Type 对象并将方法委托给该 |
IsNotPublic |
获取一个值,该值指示 Type 是否未声明为公共。 (继承自 Type) |
IsPointer |
包装 Type 对象并将方法委托给该 |
IsPointer |
获取一个值,该值指示 Type 是否为指针。 (继承自 Type) |
IsPrimitive |
包装 Type 对象并将方法委托给该 |
IsPrimitive |
获取一个值,该值指示 Type 是否为基元类型之一。 (继承自 Type) |
IsPublic |
包装 Type 对象并将方法委托给该 |
IsPublic |
获取一个值,该值指示 Type 是否声明为公共。 (继承自 Type) |
IsSealed |
包装 Type 对象并将方法委托给该 |
IsSealed |
获取一个值,该值指示是否声明 Type 密封。 (继承自 Type) |
IsSecurityCritical |
获取一个值,该值指示当前类型在当前信任级别是安全关键型还是安全安全关键型,因此可以执行关键操作。 (继承自 Type) |
IsSecuritySafeCritical |
获取一个值,该值指示当前类型在当前信任级别是否为安全安全关键;也就是说,它是否可以执行关键操作,并且可以通过透明代码访问。 (继承自 Type) |
IsSecurityTransparent |
获取一个值,该值指示当前类型在当前信任级别是否透明,因此无法执行关键操作。 (继承自 Type) |
IsSerializable |
包装 Type 对象并将方法委托给该 |
IsSerializable |
已过时.
获取一个值,该值指示 Type 是否可序列化二进制。 (继承自 Type) |
IsSignatureType |
获取一个值,该值指示类型是否为签名类型。 (继承自 Type) |
IsSpecialName |
包装 Type 对象并将方法委托给该 |
IsSpecialName |
获取一个值,该值指示类型是否具有需要特殊处理的名称。 (继承自 Type) |
IsSZArray |
包装 Type 对象并将方法委托给该 |
IsSZArray |
获取一个值,该值指示类型是否为仅表示具有零下限的单维数组的数组类型。 (继承自 Type) |
IsTypeDefinition |
包装 Type 对象并将方法委托给该 |
IsTypeDefinition |
获取一个值,该值指示类型是否为类型定义。 (继承自 Type) |
IsUnicodeClass |
包装 Type 对象并将方法委托给该 |
IsUnicodeClass |
获取一个值,该值指示是否为 Type选择了字符串格式属性 |
IsUnmanagedFunctionPointer |
获取一个值,该值指示当前 Type 是否为非托管函数指针。 |
IsUnmanagedFunctionPointer |
获取一个值,该值指示当前 Type 是否为非托管函数指针。 (继承自 Type) |
IsValueType |
包装 Type 对象并将方法委托给该 |
IsValueType |
获取一个值,该值指示 Type 是否为值类型。 (继承自 Type) |
IsVariableBoundArray |
包装 Type 对象并将方法委托给该 |
IsVariableBoundArray |
获取一个值,该值指示类型是可以表示多维数组还是具有任意下限的数组的数组类型。 (继承自 Type) |
IsVisible |
包装 Type 对象并将方法委托给该 |
IsVisible |
获取一个值,该值指示程序集外部的代码是否可以访问 Type。 (继承自 Type) |
MemberType |
包装 Type 对象并将方法委托给该 |
MemberType |
获取一个 MemberTypes 值,该值指示此成员是类型或嵌套类型。 (继承自 Type) |
MetadataToken |
获取一个值,该值标识元数据中的此实体。 |
MetadataToken |
获取标识元数据元素的值。 (继承自 MemberInfo) |
Module |
获取包含实现类型的模块。 |
Name |
获取实现类型的名称,并删除路径。 |
Namespace |
获取实现类型的命名空间。 |
ReflectedType |
获取用于获取此成员的类对象。 (继承自 Type) |
StructLayoutAttribute |
包装 Type 对象并将方法委托给该 |
StructLayoutAttribute |
获取描述当前类型的布局的 StructLayoutAttribute。 (继承自 Type) |
TypeHandle |
获取实现类型的内部元数据表示形式的句柄。 |
TypeInitializer |
包装 Type 对象并将方法委托给该 |
TypeInitializer |
获取类型的初始值设定项。 (继承自 Type) |
UnderlyingSystemType |
获取表示实现类型的基础 Type。 |
方法
显式接口实现
_MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
将一组名称映射到相应的调度标识符集。 (继承自 MemberInfo) |
_MemberInfo.GetType() |
获取表示 MemberInfo 类的 Type 对象。 (继承自 MemberInfo) |
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
检索对象的类型信息,然后可用于获取接口的类型信息。 (继承自 MemberInfo) |
_MemberInfo.GetTypeInfoCount(UInt32) |
检索对象提供的类型信息接口数(0 或 1)。 (继承自 MemberInfo) |
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
提供对对象公开的属性和方法的访问。 (继承自 MemberInfo) |
_Type.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
将一组名称映射到相应的调度标识符集。 (继承自 Type) |
_Type.GetTypeInfo(UInt32, UInt32, IntPtr) |
检索对象的类型信息,然后可用于获取接口的类型信息。 (继承自 Type) |
_Type.GetTypeInfoCount(UInt32) |
检索对象提供的类型信息接口数(0 或 1)。 (继承自 Type) |
_Type.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
提供对对象公开的属性和方法的访问。 (继承自 Type) |
IReflectableType.GetTypeInfo() |
以 TypeInfo 对象的形式返回当前类型的表示形式。 (继承自 TypeInfo) |