TypeInfo Class
Represents type declarations for class types, interface types, array types, value types, enumeration types, type parameters, generic type definitions, and open or closed constructed generic types.
Assembly: mscorlib (in mscorlib.dll)
| Name | Description | |
|---|---|---|
![]() | Assembly | |
![]() | AssemblyQualifiedName | |
![]() | Attributes | |
![]() | BaseType | |
![]() | ContainsGenericParameters | |
![]() | CustomAttributes | Gets a collection that contains this member's custom attributes.(Inherited from MemberInfo.) |
![]() | DeclaredConstructors | Gets a collection of the constructors declared by the current type. |
![]() | DeclaredEvents | Gets a collection of the events defined by the current type. |
![]() | DeclaredFields | Gets a collection of the fields defined by the current type. |
![]() | DeclaredMembers | Gets a collection of the members defined by the current type. |
![]() | DeclaredMethods | Gets a collection of the methods defined by the current type. |
![]() | DeclaredNestedTypes | Gets a collection of the nested types defined by the current type. |
![]() | DeclaredProperties | Gets a collection of the properties defined by the current type. |
![]() | DeclaringMethod | Gets a MethodBase that represents the declaring method, if the current Type represents a type parameter of a generic method.(Inherited from Type.) |
![]() | DeclaringType | Gets the type that declares the current nested type or generic type parameter.(Inherited from Type.) |
![]() | FullName | Gets the fully qualified name of the type, including its namespace but not its assembly. (Inherited from Type.) |
![]() | GenericParameterAttributes | Gets a combination of GenericParameterAttributes flags that describe the covariance and special constraints of the current generic type parameter. (Inherited from Type.) |
![]() | GenericParameterPosition | |
![]() | GenericTypeArguments | Gets an array of the generic type arguments for this type.(Inherited from Type.) |
![]() | GenericTypeParameters | Gets an array of the generic type parameters of the current instance. |
![]() | GUID | |
![]() | HasElementType | |
![]() | ImplementedInterfaces | Gets a collection of the interfaces implemented by the current type. |
![]() | IsAbstract | |
![]() | IsAnsiClass | |
![]() | IsArray | Gets a value that indicates whether the type is an array.(Inherited from Type.) |
![]() | IsAutoClass | |
![]() | IsAutoLayout | Gets a value indicating whether the fields of the current type are laid out automatically by the common language runtime.(Inherited from Type.) |
![]() | IsByRef | |
![]() | IsClass | |
![]() | IsCOMObject | |
![]() | IsConstructedGenericType | Gets a value that indicates whether this object represents a constructed generic type. You can create instances of a constructed generic type. (Inherited from Type.) |
![]() | IsContextful | |
![]() | IsEnum | |
![]() | IsExplicitLayout | Gets a value indicating whether the fields of the current type are laid out at explicitly specified offsets.(Inherited from Type.) |
![]() | IsGenericParameter | |
![]() | IsGenericType | Gets a value indicating whether the current type is a generic type.(Inherited from Type.) |
![]() | IsGenericTypeDefinition | |
![]() | IsImport | Gets a value indicating whether the Type has a ComImportAttribute attribute applied, indicating that it was imported from a COM type library.(Inherited from Type.) |
![]() | IsInterface | |
![]() | IsLayoutSequential | Gets a value indicating whether the fields of the current type are laid out sequentially, in the order that they were defined or emitted to the metadata.(Inherited from Type.) |
![]() | IsMarshalByRef | |
![]() | IsNested | |
![]() | IsNestedAssembly | |
![]() | IsNestedFamANDAssem | |
![]() | IsNestedFamily | |
![]() | IsNestedFamORAssem | |
![]() | IsNestedPrivate | |
![]() | IsNestedPublic | Gets a value indicating whether a class is nested and declared public.(Inherited from Type.) |
![]() | IsNotPublic | |
![]() | IsPointer | |
![]() | IsPrimitive | |
![]() | IsPublic | |
![]() | IsSealed | |
![]() | IsSecurityCritical | Gets a value that indicates whether the current type is security-critical or security-safe-critical at the current trust level, and therefore can perform critical operations. (Inherited from Type.) |
![]() | IsSecuritySafeCritical | Gets a value that indicates whether the current type is security-safe-critical at the current trust level; that is, whether it can perform critical operations and can be accessed by transparent code. (Inherited from Type.) |
![]() | IsSecurityTransparent | Gets a value that indicates whether the current type is transparent at the current trust level, and therefore cannot perform critical operations.(Inherited from Type.) |
![]() | IsSerializable | |
![]() | IsSpecialName | Gets a value indicating whether the type has a name that requires special handling.(Inherited from Type.) |
![]() | IsUnicodeClass | |
![]() | IsValueType | |
![]() | IsVisible | |
![]() | MemberType | Gets a MemberTypes value indicating that this member is a type or a nested type.(Inherited from Type.) |
![]() | MetadataToken | Gets a value that identifies a metadata element.(Inherited from MemberInfo.) |
![]() | Module | |
![]() | Name | Gets the name of the current member.(Inherited from MemberInfo.) |
![]() | Namespace | |
![]() | ReflectedType | Gets the class object that was used to obtain this member. (Inherited from Type.) |
![]() | StructLayoutAttribute | Gets a StructLayoutAttribute that describes the layout of the current type.(Inherited from Type.) |
![]() | TypeHandle | |
![]() | TypeInitializer | Gets the initializer for the type.(Inherited from Type.) |
![]() | UnderlyingSystemType | Indicates the type provided by the common language runtime that represents this type.(Inherited from Type.) |
| Name | Description | |
|---|---|---|
![]() | AsType() | Returns the current type as a Type object. |
![]() | Equals(Object^) | |
![]() | Equals(Type^) | |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | FindInterfaces(TypeFilter^, Object^) | |
![]() | FindMembers(MemberTypes, BindingFlags, MemberFilter^, Object^) | Returns a filtered array of MemberInfo objects of the specified member type.(Inherited from Type.) |
![]() | GetArrayRank() | Gets the number of dimensions in an array. (Inherited from Type.) |
![]() | GetAttributeFlagsImpl() | When overridden in a derived class, implements the Attributes property and gets a bitmask indicating the attributes associated with the Type.(Inherited from Type.) |
![]() | GetConstructor(BindingFlags, Binder^, CallingConventions, array<Type^>^, array<ParameterModifier>^) | Searches for a constructor whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention.(Inherited from Type.) |
![]() | GetConstructor(BindingFlags, Binder^, array<Type^>^, array<ParameterModifier>^) | Searches for a constructor whose parameters match the specified argument types and modifiers, using the specified binding constraints.(Inherited from Type.) |
![]() | GetConstructor(array<Type^>^) | Searches for a public instance constructor whose parameters match the types in the specified array.(Inherited from Type.) |
![]() | GetConstructorImpl(BindingFlags, Binder^, CallingConventions, array<Type^>^, array<ParameterModifier>^) | When overridden in a derived class, searches for a constructor whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention.(Inherited from Type.) |
![]() | GetConstructors() | |
![]() | GetConstructors(BindingFlags) | |
![]() | GetCustomAttributes(Boolean) | When overridden in a derived class, returns an array of all custom attributes applied to this member. (Inherited from MemberInfo.) |
![]() | GetCustomAttributes(Type^, Boolean) | When overridden in a derived class, returns an array of custom attributes applied to this member and identified by Type.(Inherited from MemberInfo.) |
![]() | GetCustomAttributesData() | Returns a list of CustomAttributeData objects representing data about the attributes that have been applied to the target member.(Inherited from MemberInfo.) |
![]() | GetDeclaredEvent(String^) | Returns an object that represents the specified public event declared by the current type. |
![]() | GetDeclaredField(String^) | Returns an object that represents the specified public field declared by the current type. |
![]() | GetDeclaredMethod(String^) | Returns an object that represents the specified public method declared by the current type. |
![]() | GetDeclaredMethods(String^) | Returns a collection that contains all public methods declared on the current type that match the specified name. |
![]() | GetDeclaredNestedType(String^) | Returns an object that represents the specified public nested type declared by the current type. |
![]() | GetDeclaredProperty(String^) | Returns an object that represents the specified public property declared by the current type. |
![]() | GetDefaultMembers() | Searches for the members defined for the current Type whose DefaultMemberAttribute is set.(Inherited from Type.) |
![]() | GetElementType() | |
![]() | GetEnumName(Object^) | Returns the name of the constant that has the specified value, for the current enumeration type.(Inherited from Type.) |
![]() | GetEnumNames() | Returns the names of the members of the current enumeration type.(Inherited from Type.) |
![]() | GetEnumUnderlyingType() | Returns the underlying type of the current enumeration type.(Inherited from Type.) |
![]() | GetEnumValues() | Returns an array of the values of the constants in the current enumeration type.(Inherited from Type.) |
![]() | GetEvent(String^) | |
![]() | GetEvent(String^, BindingFlags) | |
![]() | GetEvents() | |
![]() | GetEvents(BindingFlags) | |
![]() | GetField(String^) | Searches for the public field with the specified name.(Inherited from Type.) |
![]() | GetField(String^, BindingFlags) | Searches for the specified field, using the specified binding constraints.(Inherited from Type.) |
![]() | GetFields() | |
![]() | GetFields(BindingFlags) | |
![]() | GetGenericArguments() | |
![]() | GetGenericParameterConstraints() | |
![]() | GetGenericTypeDefinition() | |
![]() | GetHashCode() | Returns the hash code for this instance.(Inherited from Type.) |
![]() | GetInterface(String^) | Searches for the interface with the specified name.(Inherited from Type.) |
![]() | GetInterface(String^, Boolean) | When overridden in a derived class, searches for the specified interface, specifying whether to do a case-insensitive search for the interface name.(Inherited from Type.) |
![]() | GetInterfaceMap(Type^) | Returns an interface mapping for the specified interface type.(Inherited from Type.) |
![]() | GetInterfaces() | |
![]() | GetMember(String^) | Searches for the public members with the specified name.(Inherited from Type.) |
![]() | GetMember(String^, BindingFlags) | Searches for the specified members, using the specified binding constraints.(Inherited from Type.) |
![]() | GetMember(String^, MemberTypes, BindingFlags) | Searches for the specified members of the specified member type, using the specified binding constraints.(Inherited from Type.) |
![]() | GetMembers() | |
![]() | GetMembers(BindingFlags) | |
![]() | GetMethod(String^) | Searches for the public method with the specified name.(Inherited from Type.) |
![]() | GetMethod(String^, BindingFlags) | Searches for the specified method, using the specified binding constraints.(Inherited from Type.) |
![]() | GetMethod(String^, BindingFlags, Binder^, CallingConventions, array<Type^>^, array<ParameterModifier>^) | Searches for the specified method whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention.(Inherited from Type.) |
![]() | GetMethod(String^, BindingFlags, Binder^, array<Type^>^, array<ParameterModifier>^) | Searches for the specified method whose parameters match the specified argument types and modifiers, using the specified binding constraints.(Inherited from Type.) |
![]() | GetMethod(String^, array<Type^>^) | Searches for the specified public method whose parameters match the specified argument types.(Inherited from Type.) |
![]() | GetMethod(String^, array<Type^>^, array<ParameterModifier>^) | Searches for the specified public method whose parameters match the specified argument types and modifiers.(Inherited from Type.) |
![]() | GetMethodImpl(String^, BindingFlags, Binder^, CallingConventions, array<Type^>^, array<ParameterModifier>^) | When overridden in a derived class, searches for the specified method whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention.(Inherited from Type.) |
![]() | GetMethods() | |
![]() | GetMethods(BindingFlags) | |
![]() | GetNestedType(String^) | Searches for the public nested type with the specified name.(Inherited from Type.) |
![]() | GetNestedType(String^, BindingFlags) | When overridden in a derived class, searches for the specified nested type, using the specified binding constraints.(Inherited from Type.) |
![]() | GetNestedTypes() | |
![]() | GetNestedTypes(BindingFlags) | |
![]() | GetProperties() | |
![]() | GetProperties(BindingFlags) | |
![]() | GetProperty(String^) | Searches for the public property with the specified name.(Inherited from Type.) |
![]() | GetProperty(String^, BindingFlags) | Searches for the specified property, using the specified binding constraints.(Inherited from Type.) |
![]() | GetProperty(String^, BindingFlags, Binder^, Type^, array<Type^>^, array<ParameterModifier>^) | Searches for the specified property whose parameters match the specified argument types and modifiers, using the specified binding constraints.(Inherited from Type.) |
![]() | GetProperty(String^, Type^) | Searches for the public property with the specified name and return type.(Inherited from Type.) |
![]() | GetProperty(String^, Type^, array<Type^>^) | Searches for the specified public property whose parameters match the specified argument types.(Inherited from Type.) |
![]() | GetProperty(String^, Type^, array<Type^>^, array<ParameterModifier>^) | Searches for the specified public property whose parameters match the specified argument types and modifiers.(Inherited from Type.) |
![]() | GetProperty(String^, array<Type^>^) | Searches for the specified public property whose parameters match the specified argument types.(Inherited from Type.) |
![]() | GetPropertyImpl(String^, BindingFlags, Binder^, Type^, array<Type^>^, array<ParameterModifier>^) | When overridden in a derived class, searches for the specified property whose parameters match the specified argument types and modifiers, using the specified binding constraints.(Inherited from Type.) |
![]() | GetType() | |
![]() | GetTypeCodeImpl() | |
![]() | HasElementTypeImpl() | When overridden in a derived class, implements the HasElementType property and determines whether the current Type encompasses or refers to another type; that is, whether the current Type is an array, a pointer, or is passed by reference.(Inherited from Type.) |
![]() | InvokeMember(String^, BindingFlags, Binder^, Object^, array<Object^>^) | Invokes the specified member, using the specified binding constraints and matching the specified argument list.(Inherited from Type.) |
![]() | InvokeMember(String^, BindingFlags, Binder^, Object^, array<Object^>^, CultureInfo^) | Invokes the specified member, using the specified binding constraints and matching the specified argument list and culture.(Inherited from Type.) |
![]() | InvokeMember(String^, BindingFlags, Binder^, Object^, array<Object^>^, array<ParameterModifier>^, CultureInfo^, array<String^>^) | When overridden in a derived class, invokes the specified member, using the specified binding constraints and matching the specified argument list, modifiers and culture.(Inherited from Type.) |
![]() | IsArrayImpl() | |
![]() | IsAssignableFrom(Type^) | Determines whether an instance of a specified type can be assigned to an instance of the current type.(Inherited from Type.) |
![]() | IsAssignableFrom(TypeInfo^) | Returns a value that indicates whether the specified type can be assigned to the current type. |
![]() | IsByRefImpl() | |
![]() | IsCOMObjectImpl() | When overridden in a derived class, implements the IsCOMObject property and determines whether the Type is a COM object.(Inherited from Type.) |
![]() | IsContextfulImpl() | Implements the IsContextful property and determines whether the Type can be hosted in a context.(Inherited from Type.) |
![]() | IsDefined(Type^, Boolean) | When overridden in a derived class, indicates whether one or more attributes of the specified type or of its derived types is applied to this member.(Inherited from MemberInfo.) |
![]() | IsEnumDefined(Object^) | Returns a value that indicates whether the specified value exists in the current enumeration type.(Inherited from Type.) |
![]() | IsEquivalentTo(Type^) | Determines whether two COM types have the same identity and are eligible for type equivalence.(Inherited from Type.) |
![]() | IsInstanceOfType(Object^) | |
![]() | IsMarshalByRefImpl() | Implements the IsMarshalByRef property and determines whether the Type is marshaled by reference.(Inherited from Type.) |
![]() | IsPointerImpl() | |
![]() | IsPrimitiveImpl() | When overridden in a derived class, implements the IsPrimitive property and determines whether the Type is one of the primitive types.(Inherited from Type.) |
![]() | IsSubclassOf(Type^) | |
![]() | IsValueTypeImpl() | Implements the IsValueType property and determines whether the Type is a value type; that is, not a class or an interface.(Inherited from Type.) |
![]() | MakeArrayType() | |
![]() | MakeArrayType(Int32) | |
![]() | MakeByRefType() | |
![]() | MakeGenericType(array<Type^>^) | |
![]() | MakePointerType() | |
![]() | MemberwiseClone() | |
![]() | ToString() | Returns a String representing the name of the current Type.(Inherited from Type.) |
| Name | Description | |
|---|---|---|
![]() ![]() | IReflectableType::GetTypeInfo() | Returns a representation of the current type as a TypeInfo object. |
![]() ![]() | _MemberInfo::GetIDsOfNames(Guid%, IntPtr, UInt32, UInt32, IntPtr) | Maps a set of names to a corresponding set of dispatch identifiers.(Inherited from MemberInfo.) |
![]() ![]() | _MemberInfo::GetType() | Gets a Type object representing the MemberInfo class.(Inherited from MemberInfo.) |
![]() ![]() | _MemberInfo::GetTypeInfo(UInt32, UInt32, IntPtr) | Retrieves the type information for an object, which can then be used to get the type information for an interface.(Inherited from MemberInfo.) |
![]() ![]() | _MemberInfo::GetTypeInfoCount(UInt32%) | Retrieves the number of type information interfaces that an object provides (either 0 or 1).(Inherited from MemberInfo.) |
![]() ![]() | _MemberInfo::Invoke(UInt32, Guid%, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) | Provides access to properties and methods exposed by an object.(Inherited from MemberInfo.) |
![]() ![]() | _Type::GetIDsOfNames(Guid%, IntPtr, UInt32, UInt32, IntPtr) | Maps a set of names to a corresponding set of dispatch identifiers.(Inherited from Type.) |
![]() ![]() | _Type::GetTypeInfo(UInt32, UInt32, IntPtr) | Retrieves the type information for an object, which can then be used to get the type information for an interface.(Inherited from Type.) |
![]() ![]() | _Type::GetTypeInfoCount(UInt32%) | Retrieves the number of type information interfaces that an object provides (either 0 or 1).(Inherited from Type.) |
![]() ![]() | _Type::Invoke(UInt32, Guid%, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) | Provides access to properties and methods exposed by an object.(Inherited from Type.) |
| Name | Description | |
|---|---|---|
![]() | GetCustomAttribute(Type^) | Overloaded. Retrieves a custom attribute of a specified type that is applied to a specified member.(Defined by CustomAttributeExtensions.) |
![]() | GetCustomAttribute(Type^, Boolean) | Overloaded. Retrieves a custom attribute of a specified type that is applied to a specified member, and optionally inspects the ancestors of that member.(Defined by CustomAttributeExtensions.) |
![]() | GetCustomAttribute<T>() | Overloaded. Retrieves a custom attribute of a specified type that is applied to a specified member.(Defined by CustomAttributeExtensions.) |
![]() | GetCustomAttribute<T>(Boolean) | Overloaded. Retrieves a custom attribute of a specified type that is applied to a specified member, and optionally inspects the ancestors of that member.(Defined by CustomAttributeExtensions.) |
![]() | GetCustomAttributes() | Overloaded. Retrieves a collection of custom attributes that are applied to a specified member.(Defined by CustomAttributeExtensions.) |
![]() | GetCustomAttributes(Type^) | Overloaded. Retrieves a collection of custom attributes of a specified type that are applied to a specified member.(Defined by CustomAttributeExtensions.) |
![]() | GetCustomAttributes<T>(Boolean) | Overloaded. Retrieves a collection of custom attributes of a specified type that are applied to a specified member, and optionally inspects the ancestors of that member.(Defined by CustomAttributeExtensions.) |
![]() | GetRuntimeEvent(String^) | Retrieves an object that represents the specified event.(Defined by RuntimeReflectionExtensions.) |
![]() | GetRuntimeEvents() | Retrieves a collection that represents all the events defined on a specified type.(Defined by RuntimeReflectionExtensions.) |
![]() | GetRuntimeField(String^) | Retrieves an object that represents a specified field.(Defined by RuntimeReflectionExtensions.) |
![]() | GetRuntimeFields() | Retrieves a collection that represents all the fields defined on a specified type.(Defined by RuntimeReflectionExtensions.) |
![]() | GetRuntimeInterfaceMap(Type^) | Returns an interface mapping for the specified type and the specified interface.(Defined by RuntimeReflectionExtensions.) |
![]() | GetRuntimeMethod(String^, array<Type^>^) | Retrieves an object that represents a specified method.(Defined by RuntimeReflectionExtensions.) |
![]() | GetRuntimeMethods() | Retrieves a collection that represents all methods defined on a specified type.(Defined by RuntimeReflectionExtensions.) |
![]() | GetRuntimeProperties() | Retrieves a collection that represents all the properties defined on a specified type.(Defined by RuntimeReflectionExtensions.) |
![]() | GetRuntimeProperty(String^) | Retrieves an object that represents a specified property.(Defined by RuntimeReflectionExtensions.) |
![]() | GetTypeInfo() | Returns the TypeInfo representation of the specified type.(Defined by IntrospectionExtensions.) |
![]() | IsDefined(Type^) | Overloaded. Indicates whether custom attributes of a specified type are applied to a specified member.(Defined by CustomAttributeExtensions.) |
Starting with the .NET Framework 4.5, the TypeInfo class is included in the .NET for Windows 8.x Store apps subset for use in creating Windows Store apps. TypeInfo is available in the full .NET Framework as well. For more information about reflection for Windows Store apps, see System.Reflection namespaces in the Windows Dev Center and Reflection in the .NET Framework for Windows Store Apps in the MSDN Library.
TypeInfo contains many of the members available in the Type class, and many of the reflection properties in the .NET for Windows 8.x Store apps return collections of TypeInfo objects. To get a TypeInfo object from a Type object, use the IntrospectionExtensions::GetTypeInfo(Type^) extension method.
A TypeInfo object represents the type definition itself, whereas a Type object represents a reference to the type definition. Getting a TypeInfo object forces the assembly that contains that type to load. In comparison, you can manipulate Type objects without necessarily requiring the runtime to load the assembly they reference.
In the .NET for Windows 8.x Store apps, you use the reflection properties of TypeInfo that return IEnumerable<T> collections instead of methods that return arrays. For example, use the DeclaredMembers property to get all declared members, or the DeclaredProperties property to get all declared properties. Reflection contexts can implement lazy traversal of these collections for large assemblies or types. To get specific members, use methods such as GetDeclaredMethod and GetDeclaredProperty, and pass the name of the method or property you would like to retrieve.
To filter the results of TypeInfo properties, use LINQ queries. For reflection objects that originate with the runtime (for example, as the result of typeof(Object)), you can traverse the inheritance tree by using the methods in the RuntimeReflectionExtensions class. Consumers of objects from customized reflection contexts cannot use these methods and must traverse the inheritance tree themselves.
This example uses the reflection types and members in the .NET for Windows 8.x Store apps subset to retrieve the methods and properties of the Calendar type, including inherited methods and properties. To run this code, paste it into the code file for a Windows 8.x Store XAML app that contains a Windows.UI.Xaml.Controls.Textblock control named textblock1.
Available since 8
.NET Framework
Available since 4.5
Portable Class Library
Supported in: portable .NET platforms
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.




