Type 类

表示类型声明:类类型、接口类型、数组类型、值类型、枚举类型、类型参数、泛型类型定义,以及开放或封闭构造的泛型类型。(    Classes,    Value types,    Arrays,    Interfaces,    Enumerations,    Delegates,    Constructed generic types and generic type definitions,    Type arguments and type parameters of constructed generic types, generic type definitions, and generic method definitions)

继承层次结构

System.Object
System.Reflection.MemberInfo
System.Type
System.Reflection.TypeInfo

语法:

[SerializableAttribute]
[ClassInterfaceAttribute(ClassInterfaceType.None)]
[ComVisibleAttribute(true)]public abstract class Type : MemberInfo, _Type, IReflect

构造函数


名称说明
System_CAPS_protmethodType()

初始化 Type 类的新实例。

属性


名称说明
System_CAPS_pubpropertyAssembly

获取在其中声明该类型的 Assembly 对于泛型类型,则获取在其中定义该泛型类型的 Assembly

System_CAPS_pubpropertyAssemblyQualifiedName

获取类型的程序集限定名,其中包括从中加载 Type 的程序集的名称。

System_CAPS_pubpropertyAttributes

获取与 Type 关联的属性。

System_CAPS_pubpropertyBaseType

获取当前 Type 直接从中继承的类型。

System_CAPS_pubpropertyContainsGenericParameters

获取一个值,该值指示当前 Type 对象是否具有尚未被特定类型替代的类型参数。

System_CAPS_pubpropertyCustomAttributes

获取包含此成员的自定义特性的集合。(继承自 MemberInfo。)

System_CAPS_pubpropertyDeclaringMethod

获取一个表示声明方法的 MethodBase(如果当前 Type 表示泛型方法的一个类型参数)。

System_CAPS_pubpropertyDeclaringType

获取用来声明当前的嵌套类型或泛型类型参数的类型。(覆盖 MemberInfo.DeclaringType。)

System_CAPS_pubpropertySystem_CAPS_staticDefaultBinder

获取默认联编程序的引用,该程序实现的内部规则用于选择由 InvokeMember 调用的合适成员。

System_CAPS_pubpropertyFullName

获取该类型的完全限定名称,包括其命名空间,但不包括程序集。

System_CAPS_pubpropertyGenericParameterAttributes

获取描述当前泛型类型参数的协变和特殊约束的 GenericParameterAttributes 标志。

System_CAPS_pubpropertyGenericParameterPosition

Type 对象表示泛型类型或泛型方法的类型参数时,获取类型参数在声明它的泛型类型或方法的类型参数列表中的位置。

System_CAPS_pubpropertyGenericTypeArguments

获取此类型泛型类型参数的数组。

System_CAPS_pubpropertyGUID

获取与 Type 关联的 GUID。

System_CAPS_pubpropertyHasElementType

获取一个值,通过该值指示当前 Type 是包含还是引用另一类型,即当前 Type 是数组、指针还是通过引用传递。

System_CAPS_pubpropertyIsAbstract

获取一个值,通过该值指示 Type 是否为抽象的并且必须被重写。

System_CAPS_pubpropertyIsAnsiClass

获取一个值,该值指示是否为 AnsiClass 选择了字符串格式属性 Type

System_CAPS_pubpropertyIsArray

获取一个值,该值指示类型是否为数组。

System_CAPS_pubpropertyIsAutoClass

获取一个值,该值指示是否为 AutoClass 选择了字符串格式属性 Type

System_CAPS_pubpropertyIsAutoLayout

获取指示当前类型的字段是否由公共语言运行时自动放置的值。

System_CAPS_pubpropertyIsByRef

获取一个值,该值指示 Type 是否由引用传递。

System_CAPS_pubpropertyIsClass

获取一个值,通过该值指示 Type 是否是一个类或委托;即,不是值类型或接口。

System_CAPS_pubpropertyIsCOMObject

获取一个值,通过该值指示 Type 是否为 COM 对象。

System_CAPS_pubpropertyIsConstructedGenericType

获取指示此对象是否表示构造的泛型类型的值。 你可以创建构造型泛型类型的实例。

System_CAPS_pubpropertyIsContextful

获取一个值,通过该值指示 Type 在上下文中是否可以被承载。

System_CAPS_pubpropertyIsEnum

获取一个值,该值指示当前的 Type 是否表示枚举。

System_CAPS_pubpropertyIsExplicitLayout

获取指示当前类型的字段是否放置在显式指定的偏移量处的值。

System_CAPS_pubpropertyIsGenericParameter

获取一个值,该值指示当前 Type 是否表示泛型类型或方法的定义中的类型参数。

System_CAPS_pubpropertyIsGenericType

获取一个值,该值指示当前类型是否是泛型类型。

System_CAPS_pubpropertyIsGenericTypeDefinition

获取一个值,该值指示当前 Type 是否表示可以用来构造其他泛型类型的泛型类型定义。

System_CAPS_pubpropertyIsImport

获取一个值,该值指示 Type 是否应用了 ComImportAttribute 属性,如果应用了该属性,则表示它是从 COM 类型库导入的。

System_CAPS_pubpropertyIsInterface

获取一个值,通过该值指示 Type 是否是一个接口;即,不是类或值类型。

System_CAPS_pubpropertyIsLayoutSequential

获取指示当前类型的字段是否按顺序(定义顺序或发送到元数据的顺序)放置的值。

System_CAPS_pubpropertyIsMarshalByRef

获取一个值,该值指示 Type 是否按引用进行封送。

System_CAPS_pubpropertyIsNested

获取一个指示当前 Type 对象是否表示其定义嵌套在另一个类型的定义之内的类型的值。

System_CAPS_pubpropertyIsNestedAssembly

获取一个值,通过该值指示 Type 是否是嵌套的并且只能在它自己的程序集内可见。

System_CAPS_pubpropertyIsNestedFamANDAssem

获取一个值,通过该值指示 Type 是否是嵌套的并且只对同时属于自己家族和自己程序集的类可见。

System_CAPS_pubpropertyIsNestedFamily

获取一个值,通过该值指示 Type 是否是嵌套的并且只能在它自己的家族内可见。

System_CAPS_pubpropertyIsNestedFamORAssem

获取一个值,通过该值指示 Type 是否是嵌套的并且只对属于它自己的家族或属于它自己的程序集的类可见。

System_CAPS_pubpropertyIsNestedPrivate

获取一个值,通过该值指示 Type 是否是嵌套的并声明为私有。

System_CAPS_pubpropertyIsNestedPublic

获取一个值,通过该值指示类是否是嵌套的并且声明为公共的。

System_CAPS_pubpropertyIsNotPublic

获取一个值,该值指示 Type 是否声明为公共类型。

System_CAPS_pubpropertyIsPointer

获取一个值,通过该值指示 Type 是否为指针。

System_CAPS_pubpropertyIsPrimitive

获取一个值,通过该值指示 Type 是否为基元类型之一。

System_CAPS_pubpropertyIsPublic

获取一个值,该值指示 Type 是否声明为公共类型。

System_CAPS_pubpropertyIsSealed

获取一个值,该值指示 Type 是否声明为密封的。

System_CAPS_pubpropertyIsSecurityCritical

获取一个值,该值指示当前的类型在当前信任级别上是安全关键的还是安全可靠关键的,并因此可以执行关键操作。

System_CAPS_pubpropertyIsSecuritySafeCritical

获取一个值,该值指示当前类型在当前信任级别上是否是安全可靠关键的;即它是否可以执行关键操作并可以由透明代码访问。

System_CAPS_pubpropertyIsSecurityTransparent

获取一个值,该值指示当前类型在当前信任级别上是否是透明的而无法执行关键操作。

System_CAPS_pubpropertyIsSerializable

获取一个值,通过该值指示 Type 是否为可序列化的。

System_CAPS_pubpropertyIsSpecialName

获取一个值,该值指示该类型是否具有需要特殊处理的名称。

System_CAPS_pubpropertyIsUnicodeClass

获取一个值,该值指示是否为 UnicodeClass 选择了字符串格式属性 Type

System_CAPS_pubpropertyIsValueType

获取一个值,通过该值指示 Type 是否为值类型。

System_CAPS_pubpropertyIsVisible

获取一个指示 Type 是否可由程序集之外的代码访问的值。

System_CAPS_pubpropertyMemberType

获取一个指示此成员是类型还是嵌套类型的 MemberTypes 值。(覆盖 MemberInfo.MemberType。)

System_CAPS_pubpropertyMetadataToken

获取一个值,标识元数据中的元素。(继承自 MemberInfo。)

System_CAPS_pubpropertyModule

获取在其中定义当前 Type 的模块 (DLL)。

System_CAPS_pubpropertyName

获取当前成员的名称。(继承自 MemberInfo。)

System_CAPS_pubpropertyNamespace

获取 Type 的命名空间。

System_CAPS_pubpropertyReflectedType

获取用于获取该成员的类对象。(覆盖 MemberInfo.ReflectedType。)

System_CAPS_pubpropertyStructLayoutAttribute

获取一个描述当前类型的布局的 StructLayoutAttribute

System_CAPS_pubpropertyTypeHandle

获取当前 Type 的句柄。

System_CAPS_pubpropertyTypeInitializer

获取该类型的初始值设定项。

System_CAPS_pubpropertyUnderlyingSystemType

指示表示该类型的公共语言运行时提供的类型。

方法


名称说明
System_CAPS_pubmethodEquals(Object)

确定当前的基础系统类型(Underlying Type)是否 Type 对象是指定的基础系统类型相同 Object(覆盖 MemberInfo.Equals(Object)。)

System_CAPS_pubmethodEquals(Type)

确定当前 Type 的基础系统类型是否与指定 Type 的基础系统类型相同。

System_CAPS_protmethodFinalize()

在垃圾回收将某一对象回收前允许该对象尝试释放资源并执行其他清理操作。(继承自 Object。)

System_CAPS_pubmethodFindInterfaces(TypeFilter,Object)

返回表示接口(由当前 Type 所实现或继承)的筛选列表的 Type 对象数组。

System_CAPS_pubmethodFindMembers(MemberTypes,BindingFlags,MemberFilter,Object)

返回指定成员类型的 MemberInfo 对象的筛选数组。

System_CAPS_pubmethodGetArrayRank()

获取数组中的维数。

System_CAPS_protmethodGetAttributeFlagsImpl()

当在派生类中重写时,实现 Attributes 属性 (Property),并获取指示与 Type 关联的属性 (Attribute) 的位屏蔽。

System_CAPS_pubmethodGetConstructor(BindingFlags,Binder,CallingConventions,Type[],ParameterModifier[])

用指定绑定约束和指定调用约定,搜索其参数与指定参数类型及修饰符匹配的构造函数。

System_CAPS_pubmethodGetConstructor(BindingFlags,Binder,Type[],ParameterModifier[])

使用指定绑定约束搜索其参数与指定参数类型和修饰符匹配的构造函数。

System_CAPS_pubmethodGetConstructor(Type[])

搜索其参数与指定数组中的类型匹配的公共实例构造函数。

System_CAPS_protmethodGetConstructorImpl(BindingFlags,Binder,CallingConventions,Type[],ParameterModifier[])

当在派生类中重写时,使用指定的绑定约束和指定的调用约定搜索其参数与指定的参数类型和修饰符匹配的构造函数。

System_CAPS_pubmethodGetConstructors()

返回为当前 Type 定义的所有公共构造函数。

System_CAPS_pubmethodGetConstructors(BindingFlags)

当在派生类中重写时,使用指定 Type 搜索为当前 BindingFlags 定义的构造函数。

System_CAPS_pubmethodGetCustomAttributes(Boolean)

当在派生类中重写,则返回的所有自定义特性应用于此成员的数组。(继承自 MemberInfo。)

System_CAPS_pubmethodGetCustomAttributes(Type,Boolean)

当在派生类中重写时返回的自定义特性应用于此成员和由标识数组 Type(继承自 MemberInfo。)

System_CAPS_pubmethodGetCustomAttributesData()

返回的列表 CustomAttributeData 对象表示有关已应用于目标成员的特性的数据。(继承自 MemberInfo。)

System_CAPS_pubmethodGetDefaultMembers()

搜索为设置了 Type 的当前 DefaultMemberAttribute 定义的成员。

System_CAPS_pubmethodGetElementType()

当在派生类中重写时,返回当前数组、指针或引用类型包含的或引用的对象的 Type

System_CAPS_pubmethodGetEnumName(Object)

返回当前枚举类型中具有指定值的常数的名称。

System_CAPS_pubmethodGetEnumNames()

返回当前枚举类型中各个成员的名称。

System_CAPS_pubmethodGetEnumUnderlyingType()

返回当前枚举类型的基础类型。

System_CAPS_pubmethodGetEnumValues()

返回当前枚举类型中各个常数的值组成的数组。

System_CAPS_pubmethodGetEvent(String)

返回表示指定的公共事件的 EventInfo 对象。

System_CAPS_pubmethodGetEvent(String,BindingFlags)

当在派生类中重写时,使用指定绑定约束,返回表示指定事件的 EventInfo 对象。

System_CAPS_pubmethodGetEvents()

返回由当前 Type 声明或继承的所有公共事件。

System_CAPS_pubmethodGetEvents(BindingFlags)

当在派生类中重写时,使用指定绑定约束,搜索由当前 Type 声明或继承的事件。

System_CAPS_pubmethodGetField(String)

搜索具有指定名称的公共字段。

System_CAPS_pubmethodGetField(String,BindingFlags)

使用指定绑定约束搜索指定字段。

System_CAPS_pubmethodGetFields()

返回当前 Type 的所有公共字段。

System_CAPS_pubmethodGetFields(BindingFlags)

当在派生类中重写时,使用指定绑定约束,搜索为当前 Type 定义的字段。

System_CAPS_pubmethodGetGenericArguments()

返回表示封闭式泛型类型的类型参数或泛型类型定义的类型参数的 Type 对象的数组。

System_CAPS_pubmethodGetGenericParameterConstraints()

返回表示当前泛型类型参数约束的 Type 对象的数组。

System_CAPS_pubmethodGetGenericTypeDefinition()

返回一个表示可用于构造当前泛型类型的泛型类型定义的 Type 对象。

System_CAPS_pubmethodGetHashCode()

返回此实例的哈希代码。(覆盖 MemberInfo.GetHashCode()。)

System_CAPS_pubmethodGetInterface(String)

搜索具有指定名称的接口。

System_CAPS_pubmethodGetInterface(String,Boolean)

当在派生类中重写时,搜索指定的接口,指定是否要对接口名称执行不区分大小写的搜索。

System_CAPS_pubmethodGetInterfaceMap(Type)

返回指定接口类型的接口映射。

System_CAPS_pubmethodGetInterfaces()

当在派生类中重写时,获取由当前 Type 实现或继承的所有接口。

System_CAPS_pubmethodGetMember(String)

搜索具有指定名称的公共成员。

System_CAPS_pubmethodGetMember(String,BindingFlags)

使用指定绑定约束搜索指定成员。

System_CAPS_pubmethodGetMember(String,MemberTypes,BindingFlags)

使用指定绑定约束搜索指定成员类型的指定成员。

System_CAPS_pubmethodGetMembers()

返回为当前 Type 的所有公共成员。

System_CAPS_pubmethodGetMembers(BindingFlags)

当在派生类中重写时,使用指定绑定约束,搜索为当前 Type 定义的成员。

System_CAPS_pubmethodGetMethod(String)

搜索具有指定名称的公共方法。

System_CAPS_pubmethodGetMethod(String,BindingFlags)

使用指定绑定约束搜索指定方法。

System_CAPS_pubmethodGetMethod(String,BindingFlags,Binder,CallingConventions,Type[],ParameterModifier[])

用指定的绑定约束和指定的调用约定,搜索参数与指定的参数类型及修饰符相匹配的指定方法。

System_CAPS_pubmethodGetMethod(String,BindingFlags,Binder,Type[],ParameterModifier[])

使用指定绑定约束,搜索其参数与指定参数类型及修饰符匹配的指定方法。

System_CAPS_pubmethodGetMethod(String,Type[])

搜索其参数与指定参数类型匹配的指定公共方法。

System_CAPS_pubmethodGetMethod(String,Type[],ParameterModifier[])

搜索其参数与指定参数类型及修饰符匹配的指定公共方法。

System_CAPS_protmethodGetMethodImpl(String,BindingFlags,Binder,CallingConventions,Type[],ParameterModifier[])

当在派生类中重写时,使用指定的绑定约束和指定的调用约定搜索其参数与指定的参数类型和修饰符匹配的指定方法。

System_CAPS_pubmethodGetMethods()

返回为当前 Type 的所有公共方法。

System_CAPS_pubmethodGetMethods(BindingFlags)

当在派生类中重写时,使用指定绑定约束,搜索为当前 Type 定义的方法。

System_CAPS_pubmethodGetNestedType(String)

搜索具有指定名称的公共嵌套类型。

System_CAPS_pubmethodGetNestedType(String,BindingFlags)

当在派生类中重写时,使用指定绑定约束搜索指定嵌套类型。

System_CAPS_pubmethodGetNestedTypes()

返回嵌套在当前的 Type 中的公共类型。

System_CAPS_pubmethodGetNestedTypes(BindingFlags)

当在派生类中重写时,使用指定绑定约束搜索嵌套在当前 Type 中的类型。

System_CAPS_pubmethodGetProperties()

返回为当前 Type 的所有公共属性。

System_CAPS_pubmethodGetProperties(BindingFlags)

当在派生类中重写时,使用指定绑定约束,搜索当前 Type 的属性。

System_CAPS_pubmethodGetProperty(String)

搜索具有指定名称的公共属性。

System_CAPS_pubmethodGetProperty(String,BindingFlags)

使用指定的绑定约束搜索指定属性。

System_CAPS_pubmethodGetProperty(String,BindingFlags,Binder,Type,Type[],ParameterModifier[])

使用指定的绑定约束,搜索参数与指定的参数类型及修饰符匹配的指定属性。

System_CAPS_pubmethodGetProperty(String,Type)

搜索具有指定名称和返回类型的公共属性。

System_CAPS_pubmethodGetProperty(String,Type,Type[])

搜索其参数与指定参数类型匹配的指定公共属性。

System_CAPS_pubmethodGetProperty(String,Type,Type[],ParameterModifier[])

搜索其参数与指定参数类型及修饰符匹配的指定公共属性。

System_CAPS_pubmethodGetProperty(String,Type[])

搜索其参数与指定参数类型匹配的指定公共属性。

System_CAPS_protmethodGetPropertyImpl(String,BindingFlags,Binder,Type,Type[],ParameterModifier[])

当在派生类中重写时,使用指定的绑定约束搜索其参数与指定的参数类型和修饰符匹配的指定属性。

System_CAPS_pubmethodGetType()

获取当前 Type

System_CAPS_pubmethodSystem_CAPS_staticGetType(String)

获取具有指定名称的 Type,执行区分大小写的搜索。

System_CAPS_pubmethodSystem_CAPS_staticGetType(String,Boolean)

获取具有指定名称的 Type,指定是否执行区分大小写的搜索,以及在找不到类型时是否引发异常。

System_CAPS_pubmethodSystem_CAPS_staticGetType(String,Boolean,Boolean)

获取具有指定名称的 Type,指定是否执行区分大小写的搜索,以及在找不到类型时是否引发异常。

System_CAPS_pubmethodSystem_CAPS_staticGetType(String,Func<AssemblyName,Assembly>,Func<Assembly,String,Boolean,Type>)

获取具有指定名称的类型,(可选)提供自定义方法以解析程序集和该类型。

System_CAPS_pubmethodSystem_CAPS_staticGetType(String,Func<AssemblyName,Assembly>,Func<Assembly,String,Boolean,Type>,Boolean)

获取具有指定名称的类型,指定在找不到该类型时是否引发异常,(可选)提供自定义方法以解析程序集和该类型。

System_CAPS_pubmethodSystem_CAPS_staticGetType(String,Func<AssemblyName,Assembly>,Func<Assembly,String,Boolean,Type>,Boolean,Boolean)

获取具有指定名称的类型,指定是否执行区分大小写的搜索,在找不到类型时是否引发异常,(可选)提供自定义方法以解析程序集和该类型。

System_CAPS_pubmethodSystem_CAPS_staticGetTypeArray(Object[])

获取指定数组中对象的类型。

System_CAPS_pubmethodSystem_CAPS_staticGetTypeCode(Type)

获取指定 Type 的基础类型代码。

System_CAPS_protmethodGetTypeCodeImpl()

返回此的基础类型代码 Type 实例。

System_CAPS_pubmethodSystem_CAPS_staticGetTypeFromCLSID(Guid)

获取与指定类标识符 (CLSID) 关联的类型。

System_CAPS_pubmethodSystem_CAPS_staticGetTypeFromCLSID(Guid,Boolean)

获取与指定类标识符 (CLSID) 关联的类型,指定在加载该类型时如果发生错误是否引发异常。

System_CAPS_pubmethodSystem_CAPS_staticGetTypeFromCLSID(Guid,String)

从指定服务器获取与指定类标识符 (CLSID) 关联的类型。

System_CAPS_pubmethodSystem_CAPS_staticGetTypeFromCLSID(Guid,String,Boolean)

从指定服务器获取与指定类标识符 (CLSID) 关联的类型,指定在加载该类型时如果发生错误是否引发异常。

System_CAPS_pubmethodSystem_CAPS_staticGetTypeFromHandle(RuntimeTypeHandle)

获取由指定类型句柄引用的类型。

System_CAPS_pubmethodSystem_CAPS_staticGetTypeFromProgID(String)

获取与指定程序标识符 (ProgID) 关联的类型,如果在加载 Type 时遇到错误,则返回空值。

System_CAPS_pubmethodSystem_CAPS_staticGetTypeFromProgID(String,Boolean)

获取与指定程序标识符 (ProgID) 关联的类型,指定如果在加载该类型时发生错误是否引发异常。

System_CAPS_pubmethodSystem_CAPS_staticGetTypeFromProgID(String,String)

从指定服务器获取与指定程序标识符 (progID) 关联的类型,如果在加载该类型时遇到错误则返回空值。

System_CAPS_pubmethodSystem_CAPS_staticGetTypeFromProgID(String,String,Boolean)

从指定服务器获取与指定程序标识符 (progID) 关联的类型,指定如果在加载该类型时发生错误是否引发异常。

System_CAPS_pubmethodSystem_CAPS_staticGetTypeHandle(Object)

获取指定对象的 Type 的句柄。

System_CAPS_protmethodHasElementTypeImpl()

当在派生类中重写时,实现 HasElementType 属性,确定当前 Type 是否包含另一类型或对其引用;即,当前 Type 是否是数组、指针或由引用传递。

System_CAPS_pubmethodInvokeMember(String,BindingFlags,Binder,Object,Object[])

使用指定的绑定约束并匹配指定的参数列表,调用指定成员。

System_CAPS_pubmethodInvokeMember(String,BindingFlags,Binder,Object,Object[],CultureInfo)

使用指定的绑定约束和匹配的指定参数列表及区域性来调用指定成员。

System_CAPS_pubmethodInvokeMember(String,BindingFlags,Binder,Object,Object[],ParameterModifier[],CultureInfo,String[])

当在派生类中重写时,使用指定的绑定约束并匹配指定的参数列表、修饰符和区域性,调用指定成员。

System_CAPS_protmethodIsArrayImpl()

在派生类中重写时,实现 IsArray 属性并确定 Type 是否为数组。

System_CAPS_pubmethodIsAssignableFrom(Type)

确定指定类型的实例是否可以分配给当前类型的实例。

System_CAPS_protmethodIsByRefImpl()

在派生类中重写时,实现 IsByRef 属性并确定Type 是否通过引用传递。

System_CAPS_protmethodIsCOMObjectImpl()

当在派生类中重写时,实现 IsCOMObject 属性并确定 Type 是否为 COM 对象。

System_CAPS_protmethodIsContextfulImpl()

实现 IsContextful 属性并确定 Type 在上下文中是否可以被承载。

System_CAPS_pubmethodIsDefined(Type,Boolean)

当在派生类中重写,该值指示是否指定类型的字段或其派生类型的一个或多个特性应用于此成员。(继承自 MemberInfo。)

System_CAPS_pubmethodIsEnumDefined(Object)

返回一个值,该值指示当前的枚举类型中是否存在指定的值。

System_CAPS_pubmethodIsEquivalentTo(Type)

确定两个 COM 类型是否具有相同的标识,以及是否符合类型等效的条件。

System_CAPS_pubmethodIsInstanceOfType(Object)

确定指定的对象是否是当前 Type 的实例。

System_CAPS_protmethodIsMarshalByRefImpl()

实现 IsMarshalByRef 属性并确定 Type 是否按引用来进行封送。

System_CAPS_protmethodIsPointerImpl()

在派生类中重写时,实现 IsPointer 属性并确定 Type 是否为指针。

System_CAPS_protmethodIsPrimitiveImpl()

在派生类中重写时,实现 IsPrimitive 属性并确定 Type 是否为基元类型之一。

System_CAPS_pubmethodIsSubclassOf(Type)

确定当前 Type 是否派生自指定的 Type

System_CAPS_protmethodIsValueTypeImpl()

实现 IsValueType 属性并确定 Type 是否是值类型;即,它不是值类或接口。

System_CAPS_pubmethodMakeArrayType()

返回 Type 对象,该对象表示当前类型的一维数组(下限为零)。

System_CAPS_pubmethodMakeArrayType(Int32)

返回 Type 对象,该对象表示一个具有指定维数的当前类型的数组。

System_CAPS_pubmethodMakeByRefType()

返回表示作为 Type 参数(在 Visual Basic 中为 ref 参数)传递时的当前类型的 ByRef 对象。

System_CAPS_pubmethodMakeGenericType(Type[])

替代由当前泛型类型定义的类型参数组成的类型数组的元素,并返回表示结果构造类型的 Type 对象。

System_CAPS_pubmethodMakePointerType()

返回表示指向当前类型的指针的 Type 对象。

System_CAPS_protmethodMemberwiseClone()

创建当前 Object 的浅表副本。(继承自 Object。)

System_CAPS_pubmethodSystem_CAPS_staticReflectionOnlyGetType(String,Boolean,Boolean)

获取具有指定名称的 Type,指定是否执行区分大小写的搜索,以及在找不到类型时是否引发异常。 该类型只为反射加载,而不为执行加载。

System_CAPS_pubmethodToString()

返回表示当前 String 的名称的 Type(覆盖 Object.ToString()。)


字段


名称说明
System_CAPS_pubfieldSystem_CAPS_staticDelimiter

分隔 Type 的命名空间中的名称。 此字段为只读。

System_CAPS_pubfieldSystem_CAPS_staticEmptyTypes

表示 Type 类型的空数组。 此字段为只读。

System_CAPS_pubfieldSystem_CAPS_staticFilterAttribute

表示用在特性上的成员筛选器。 此字段为只读。

System_CAPS_pubfieldSystem_CAPS_staticFilterName

表示用于名称的区分大小写的成员筛选器。 此字段为只读。

System_CAPS_pubfieldSystem_CAPS_staticFilterNameIgnoreCase

表示用于名称的不区分大小写的成员筛选器。 此字段为只读。

System_CAPS_pubfieldSystem_CAPS_staticMissing

表示 Type 信息中的缺少值。 此字段为只读。

运算符


名称说明
System_CAPS_puboperatorSystem_CAPS_staticEquality(Type,Type)

指示两个 Type 对象是否相等。

System_CAPS_puboperatorSystem_CAPS_staticInequality(Type,Type)

指示两个 Type 对象是否不相等。

显式接口实现


名称说明
System_CAPS_pubinterfaceSystem_CAPS_privmethod_MemberInfo.GetIDsOfNames(Guid,IntPtr,UInt32,UInt32,IntPtr)

将一组名称映射为对应的一组调度标识符。(继承自 MemberInfo。)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_MemberInfo.GetType()

获取 Type 对象,表示 MemberInfo 类。(继承自 MemberInfo。)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_MemberInfo.GetTypeInfo(UInt32,UInt32,IntPtr)

检索对象的类型信息,然后可以使用该信息获取接口的类型信息。(继承自 MemberInfo。)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_MemberInfo.GetTypeInfoCount(UInt32)

检索对象提供的类型信息接口的数量(0 或 1)。(继承自 MemberInfo。)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_MemberInfo.Invoke(UInt32,Guid,UInt32,Int16,IntPtr,IntPtr,IntPtr,IntPtr)

提供对某一对象公开的属性和方法的访问。(继承自 MemberInfo。)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Type.GetIDsOfNames(Guid,IntPtr,UInt32,UInt32,IntPtr)

将一组名称映射为对应的一组调度标识符。

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Type.GetTypeInfo(UInt32,UInt32,IntPtr)

检索对象的类型信息,然后可以使用该信息获取接口的类型信息。

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Type.GetTypeInfoCount(UInt32)

检索对象提供的类型信息接口的数量(0 或 1)。

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Type.Invoke(UInt32,Guid,UInt32,Int16,IntPtr,IntPtr,IntPtr,IntPtr)

提供对某一对象公开的属性和方法的访问。

扩展方法


名称说明
System_CAPS_pubmethodGetCustomAttribute(Type)

已重载。检索指定类型的应用于指定的成员的自定义属性。(由 CustomAttributeExtensions 定义。)

System_CAPS_pubmethodGetCustomAttribute(Type,Boolean)

已重载。检索指定类型的应用于指定的成员,并根据需要检查该成员的祖先的自定义属性。(由 CustomAttributeExtensions 定义。)

System_CAPS_pubmethodGetCustomAttribute<T>()

已重载。检索指定类型的应用于指定的成员的自定义属性。(由 CustomAttributeExtensions 定义。)

System_CAPS_pubmethodGetCustomAttribute<T>(Boolean)

已重载。检索指定类型的应用于指定的成员,并根据需要检查该成员的祖先的自定义属性。(由 CustomAttributeExtensions 定义。)

System_CAPS_pubmethodGetCustomAttributes()

已重载。检索应用于指定的成员的自定义特性的集合。(由 CustomAttributeExtensions 定义。)

System_CAPS_pubmethodGetCustomAttributes(Type)

已重载。检索具有指定类型的自定义应用于指定的成员的特性的集合。(由 CustomAttributeExtensions 定义。)

System_CAPS_pubmethodGetCustomAttributes<T>(Boolean)

已重载。检索应用于指定成员的自定义特性的指定类型的集合,并根据需要检查该成员的祖先。(由 CustomAttributeExtensions 定义。)

System_CAPS_pubmethodGetRuntimeEvent(String)

检索一个对象,表示指定的事件。(由 RuntimeReflectionExtensions 定义。)

System_CAPS_pubmethodGetRuntimeEvents()

检索表示指定类型上定义的所有事件的集合。(由 RuntimeReflectionExtensions 定义。)

System_CAPS_pubmethodGetRuntimeField(String)

检索一个对象,表示指定的字段。(由 RuntimeReflectionExtensions 定义。)

System_CAPS_pubmethodGetRuntimeFields()

检索表示指定类型上定义的所有字段的集合。(由 RuntimeReflectionExtensions 定义。)

System_CAPS_pubmethodGetRuntimeMethod(String,Type[])

检索一个对象,表示指定的方法。(由 RuntimeReflectionExtensions 定义。)

System_CAPS_pubmethodGetRuntimeMethods()

检索表示指定类型上定义的所有方法的集合。(由 RuntimeReflectionExtensions 定义。)

System_CAPS_pubmethodGetRuntimeProperties()

检索表示指定类型上定义的所有属性的集合。(由 RuntimeReflectionExtensions 定义。)

System_CAPS_pubmethodGetRuntimeProperty(String)

检索一个对象,表示指定的属性。(由 RuntimeReflectionExtensions 定义。)

System_CAPS_pubmethodGetTypeInfo()

返回 TypeInfo 指定类型的表示形式。(由 IntrospectionExtensions 定义。)

System_CAPS_pubmethodIsDefined(Type)

已重载。指示是否为指定类型的自定义特性随即应用于指定的成员。(由 CustomAttributeExtensions 定义。)

备注

System_CAPS_note说明

To view the .NET Framework source code for this type, see the Reference Sourcehttp://referencesource.microsoft.com/#mscorlib/system/type.cs#3d00eeab9feb80f3. You can browse through the source code online, download the reference for offline viewing, and step through the sources (including patches and updates) during debugging; see instructionshttp://referencesource.microsoft.com/.

Type is the root of the System.Reflection functionality and is the primary way to access metadata. Use the members of Type to get information about a type declaration, about the members of a type (such as the constructors, methods, fields, properties, and events of a class), as well as the module and the assembly in which the class is deployed.

No permissions are required for code to use reflection to get information about types and their members, regardless of their access levels. No permissions are required for code to use reflection to access public members, or other members whose access levels would make them visible during normal compilation. However, in order for your code to use reflection to access members that would normally be inaccessible, such as private or internal methods, or protected fields of a type your class does not inherit, your code must have T:System.Security.Permissions.ReflectionPermission. See Security Considerations for Reflection.

Type is an abstract base class that allows multiple implementations. The system will always provide the derived class RuntimeType. In reflection, all classes beginning with the word Runtime are created only once per object in the system and support comparison operations.

System_CAPS_note说明

In multithreading scenarios, do not lock T:System.Type objects in order to synchronize access to static data. Other code, over which you have no control, might also lock your class type. This might result in a deadlock. Instead, synchronize access to static data by locking a private static object.

System_CAPS_note说明

A derived class can access protected members of the calling code's base classes. Also, access is allowed to assembly members of the calling code's assembly. As a rule, if you are allowed access in early-bound code, then you are also allowed access in late-bound code.

System_CAPS_note说明

Interfaces that extend other interfaces do not inherit the methods defined in the extended interfaces.


What types does a Type object represent?

This class is thread safe; multiple threads can concurrently read from an instance of this type. An instance of the T:System.Type class can represent any of the following types:

  • Classes

  • Value types

  • Arrays

  • Interfaces

  • Enumerations

  • Delegates

  • Constructed generic types and generic type definitions

  • Type arguments and type parameters of constructed generic types, generic type definitions, and generic method definitions

Retrieving a Type object

The T:System.Type object associated with a particular type can be obtained in the following ways:

  • The instance M:System.Object.GetType method returns a T:System.Type object that represents the type of an instance. Because all managed types derive from T:System.Object, the M:System.Object.GetType method can be called on an instance of any type.

    The following example calls the M:System.Object.GetType method to determine the runtime type of each object in an object array.

using System;public class Example
{   public static void Main()
   {      
   object[] values = { "word", true, 120, 136.34, 'a' };   
   foreach (var value in values)
         Console.WriteLine("{0} - type {1}", value, 
                           value.GetType().Name);
   }
}// The example displays the following output:
//       word - type String
//       True - type Boolean
//       120 - type Int32
//       136.34 - type Double
//       a - type Char
  • The static M:System.Type.GetType(System.String) methods return a T:System.Type object that represents a type specified by its fully qualified name.

  • The M:System.Reflection.Module.GetTypes, M:System.Reflection.Module.GetType(System.String,System.Boolean), and M:System.Reflection.Module.FindTypes(System.Reflection.TypeFilter,System.Object) methods return Type objects that represent the types defined in a module. The first method can be used to obtain an array of T:System.Type objects for all the public and private types defined in a module. (You can obtain an instance of Module through the M:System.Reflection.Assembly.GetModule(System.String) or M:System.Reflection.Assembly.GetModules method, or through the P:System.Type.Module property.)

  • The T:System.Reflection.Assembly object contains a number of methods to retrieve the classes defined in an assembly, including Overload:System.Reflection.Assembly.GetType, M:System.Reflection.Assembly.GetTypes, and M:System.Reflection.Assembly.GetExportedTypes.

  • The M:System.Type.FindInterfaces(System.Reflection.TypeFilter,System.Object) method returns a filtered list of interface types supported by a type.

  • The M:System.Type.GetElementType method returns a Type object that represents the element.

  • The M:System.Type.GetInterfaces and M:System.Type.GetInterface(System.String) methods return T:System.Type objects representing the interface types supported by a type.

  • The M:System.Type.GetTypeArray(System.Object[]) method returns an array of T:System.Type objects representing the types specified by an arbitrary set of objects. The objects are specified with an array of type T:System.Object.

  • The M:System.Type.GetTypeFromProgID(System.String) and M:System.Type.GetTypeFromCLSID(System.Guid) methods are provided for COM interoperability. They return a T:System.Type object that represents the type specified by a ProgID or CLSID.

  • The M:System.Type.GetTypeFromHandle(System.RuntimeTypeHandle) method is provided for interoperability. It returns a Type object that represents the type specified by a class handle.

  • The C# typeof operator, the C++ typeid operator, and the Visual Basic GetType operator obtain the Type object for a type.

  • The M:System.Type.MakeGenericType(System.Type[]) method returns a T:System.Type object representing a constructed generic type, which is an open constructed type if its P:System.Type.ContainsGenericParameters property returns true, and a closed constructed type otherwise. A generic type can be instantiated only if it is closed.

  • The Overload:System.Type.MakeArrayType, M:System.Type.MakePointerType, and M:System.Type.MakeByRefType methods return T:System.Type objects that represent, respectively, an array of a specified type, a pointer to a specified type, and the type of a reference parameter (ref in C#, ByRef in Visual Basic).

Comparing type objects for equality

A T:System.Type object that represents a type is unique; that is, two T:System.Type object references refer to the same object if and only if they represent the same type. This allows for comparison of T:System.Type objects using reference equality. The following example compares the T:System.Type objects that represent a number of integer values to determine whether they are of the same type.

using System;public class Example
{   public static void Main()
   {      
       long number1 = 1635429;     
        int number2 = 16203;      
        double number3 = 1639.41;      
        long number4 = 193685412;      // Get the type of number1.
      Type t = number1.GetType();      // Compare types of all objects with number1.
      Console.WriteLine("Type of number1 and number2 are equal: {0}",
                        Object.ReferenceEquals(t, number2.GetType()));
      Console.WriteLine("Type of number1 and number3 are equal: {0}",
                        Object.ReferenceEquals(t, number3.GetType()));
      Console.WriteLine("Type of number1 and number4 are equal: {0}",
                        Object.ReferenceEquals(t, number4.GetType()));
   }
}
// The example displays the following output:
//       Type of number1 and number2 are equal: False
//       Type of number1 and number3 are equal: False
//       Type of number1 and number4 are equal: True

继承函数说明:

When you inherit from Type, you must override the following members:

示例

The following  example shows a few representative features of T:System.Type. The C# typeof operator (GetType operator in Visual Basic, typeid operator in Visual C++) is used to get a T:System.Type object representing T:System.String. From this T:System.Type object, the Overload:System.Type.GetMethod method is used to get a T:System.Reflection.MethodInfo representing the M:System.String.Substring(System.Int32,System.Int32) overload that takes a starting location and a length.

To identify the overload signature, the code example creates a temporary array containing two T:System.Type objects representing int (Integer in Visual Basic).

System_CAPS_note说明

To be precise, the array contains two references to the instance of T:System.Type that represents int in the current application domain. For any type, there is only one instance of T:System.Type per application domain.

The code example uses the T:System.Reflection.MethodInfo to invoke the M:System.String.Substring(System.Int32,System.Int32) method on the string "Hello, World!", and displays the result.

using System;using System.Reflection;class Example
{    static void Main()
    {
        Type t = typeof(String);

        MethodInfo substr = t.GetMethod("Substring", 
            new Type[] { typeof(int), typeof(int) });

        Object result = 
            substr.Invoke("Hello, World!", new Object[] { 7, 5 });
        Console.WriteLine("{0} returned \"{1}\".", substr, result);
    }
}
/* This code example produces the following output:

System.String Substring(Int32, Int32) returned "World".
 */

备注:转自https://msdn.microsoft.com/zh-cn/library/system.type(v=vs.110).aspx