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 字段向派生类公开。
注意
的某些成员 TypeDelegator 具有实现,即使成员本身只是继承自 Type。 在这些情况下,实现由名称以“Impl”结尾的重写 protected
方法提供。 例如,方法的所有重载的 GetMethods 实现由重写 GetMethodImpl 的方法提供。 继承属性(如 IsPublic 和 IsNestedAssembly )的实现由重写 GetAttributeFlagsImpl 的方法提供。
派生类可以提供一个公共构造函数,该构造函数采用 Type 对象作为其参数,并仅将该对象传递给 TypeDelegator(Type) 构造函数,或者可以通过其他某种方式设置内部 Type 对象。
如果派生类使用未由 TypeDelegator实现的成员,则必须重写该成员并提供实现。 最简单的实现是在 字段公开typeImpl的内部Type对象上调用相应的成员,但你可以提供应用程序所需的任何实现。 如果应用程序或应用程序调用的库函数(例如,构造函数 () )未使用这些成员, CodeTypeReference.CodeTypeReference(Type) 则无需重写这些成员。
以下虚拟方法 (Overridable
Visual Basic) Type 中的方法不是由 TypeDelegator实现的:、GetGenericTypeDefinitionMakeGenericType、、、 。 IsEquivalentToGetGenericArgumentsGetGenericParameterConstraintsMakeArrayTypeMakeByRefTypeMakePointerTypeGetEnumNamesGetEnumValuesGetEnumUnderlyingTypeGetTypeCodeImplIsEnumDefined
Visual Basic) 中的以下虚拟属性 (Overridable
属性不是由 TypeDelegator实现的:、IsGenericTypeDefinitionIsGenericType、、IsGenericParameter、DeclaringMethodGenericParameterPositionGenericParameterAttributesIsSecurityCriticalContainsGenericParameters、IsSecuritySafeCritical、、 。 IsSecurityTransparentType
构造函数
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 |
获取一个值,该值指示是否为 |
IsArray |
包装 Type 对象并将所有方法委托给该 |
IsArray |
获取一个值,该值指示类型是否为数组。 (继承自 Type) |
IsAutoClass |
包装 Type 对象并将所有方法委托给该 |
IsAutoClass |
获取一个值,该值指示是否为 |
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 |
获取一个值,该值指示是否为 |
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) |
扩展方法
适用于
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈