TypeInfo Class

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

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.

Inheritance Hierarchy

System..::.Object
System.Reflection..::.MemberInfo
System..::.Type
System.Reflection..::.TypeInfo
System.Reflection..::.TypeDelegator

Namespace: System.Reflection
Assembly: mscorlib (in mscorlib.dll)

Syntax

Public MustInherit Class TypeInfo _
    Inherits Type _
    Implements IReflectableType
public abstract class TypeInfo : Type, 
    IReflectableType

The TypeInfo type exposes the following members.

Properties

Name Description
Assembly Gets the Assembly in which the type is declared. For generic types, gets the Assembly in which the generic type is defined. (Inherited from Type.)
AssemblyQualifiedName Gets the assembly-qualified name of the Type, which includes the name of the assembly from which the Type was loaded. (Inherited from Type.)
Attributes Gets the attributes associated with the Type. (Inherited from Type.)
BaseType Gets the type from which the current Type directly inherits. (Inherited from Type.)
ContainsGenericParameters Gets a value indicating whether the current Type object has type parameters that have not been replaced by specific types. (Inherited from Type.)
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 the namespace of the Type but not the 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 Gets the position of the type parameter in the type parameter list of the generic type or method that declared the parameter, when the Type object represents a type parameter of a generic type or a generic method. (Inherited from Type.)
GenericTypeArguments Gets an array of the generic type arguments for this type. (Inherited from Type.)
GenericTypeParameters Gets an array of the generic parameters of the current type.
GUID Gets the GUID associated with the Type. (Inherited from Type.)
HasElementType Gets a value indicating 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.)
ImplementedInterfaces Gets a collection of the interfaces implemented by the current type.
IsAbstract Gets a value indicating whether the Type is abstract and must be overridden. (Inherited from Type.)
IsAnsiClass Gets a value indicating whether the string format attribute AnsiClass is selected for the Type. (Inherited from Type.)
IsArray Gets a value indicating whether the Type is an array. (Inherited from Type.)
IsAutoClass Gets a value indicating whether the string format attribute AutoClass is selected for the Type. (Inherited from Type.)
IsAutoLayout Gets a value indicating whether the class layout attribute AutoLayout is selected for the Type. (Inherited from Type.)
IsByRef Gets a value indicating whether the Type is passed by reference. (Inherited from Type.)
IsClass Gets a value indicating whether the Type is a class; that is, not a value type or interface. (Inherited from Type.)
IsCOMObject Gets a value indicating whether the Type is a COM object. (Inherited from Type.)
IsConstructedGenericType Gets a value that indicates whether this object represents a constructed generic type. (Inherited from Type.)
IsEnum Gets a value indicating whether the current Type represents an enumeration. (Inherited from Type.)
IsExplicitLayout Gets a value indicating whether the class layout attribute ExplicitLayout is selected for the Type. (Inherited from Type.)
IsGenericParameter Gets a value indicating whether the current Type represents a type parameter in the definition of a generic type or method. (Inherited from Type.)
IsGenericType Gets a value indicating whether the current type is a generic type. (Inherited from Type.)
IsGenericTypeDefinition Gets a value indicating whether the current Type represents a generic type definition, from which other generic types can be constructed. (Inherited from Type.)
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 Gets a value indicating whether the Type is an interface; that is, not a class or a value type. (Inherited from Type.)
IsLayoutSequential Gets a value indicating whether the class layout attribute SequentialLayout is selected for the Type. (Inherited from Type.)
IsMarshalByRef Gets a value indicating whether the Type is marshaled by reference. (Inherited from Type.)
IsNested Gets a value indicating whether the current Type object represents a type whose definition is nested inside the definition of another type. (Inherited from Type.)
IsNestedAssembly Gets a value indicating whether the Type is nested and visible only within its own assembly. (Inherited from Type.)
IsNestedFamANDAssem Gets a value indicating whether the Type is nested and visible only to classes that belong to both its own family and its own assembly. (Inherited from Type.)
IsNestedFamily Gets a value indicating whether the Type is nested and visible only within its own family. (Inherited from Type.)
IsNestedFamORAssem Gets a value indicating whether the Type is nested and visible only to classes that belong to either its own family or to its own assembly. (Inherited from Type.)
IsNestedPrivate Gets a value indicating whether the Type is nested and declared private. (Inherited from Type.)
IsNestedPublic Gets a value indicating whether a class is nested and declared public. (Inherited from Type.)
IsNotPublic Gets a value indicating whether the Type is not declared public. (Inherited from Type.)
IsPointer Gets a value indicating whether the Type is a pointer. (Inherited from Type.)
IsPrimitive Gets a value indicating whether the Type is one of the primitive types. (Inherited from Type.)
IsPublic Gets a value indicating whether the Type is declared public. (Inherited from Type.)
IsSealed Gets a value indicating whether the Type is declared sealed. (Inherited from Type.)
IsSerializable Gets a value indicating whether the Type is serializable. (Inherited from Type.)
IsSpecialName Gets a value indicating whether the Type has a name that requires special handling. (Inherited from Type.)
IsUnicodeClass Gets a value indicating whether the string format attribute UnicodeClass is selected for the Type. (Inherited from Type.)
IsValueType Gets a value indicating whether the Type is a value type. (Inherited from Type.)
IsVisible Gets a value indicating whether the Type can be accessed by code outside the assembly. (Inherited from Type.)
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 Gets the module (the DLL) in which the current Type is defined. (Inherited from Type.)
Name Gets the name of the current member. (Inherited from MemberInfo.)
Namespace Gets the namespace of the Type. (Inherited from Type.)
ReflectedType Gets the class object that was used to obtain this member. (Inherited from Type.)
TypeHandle Gets the handle for the current Type. (Inherited from Type.)
UnderlyingSystemType Indicates the type provided by the common language runtime that represents this type. (Inherited from Type.)

Top

Methods

Name Description
AsType Returns the current type as a Type object.
Equals(Object) Determines if the underlying system type of the current Type is the same as the underlying system type of the specified Object. (Inherited from Type.)
Equals(Type) Determines if the underlying system type of the current Type is the same as the underlying system type of the specified Type. (Inherited from Type.)
Finalize Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
FindMembers 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(array<Type>[]()[]) Searches for a public instance constructor whose parameters match the types in the specified array. (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.)
GetConstructorImpl 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()()() Returns all the public constructors defined for the current Type. (Inherited from Type.)
GetConstructors(BindingFlags) When overridden in a derived class, searches for the constructors defined for the current Type, using the specified BindingFlags. (Inherited from Type.)
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.)
GetDeclaredEvent Returns an object that represents the specified public event declared by the current type.
GetDeclaredField Returns an object that represents the specified public field declared by the current type.
GetDeclaredMethod Returns an object that represents the specified public method declared by the current type.
GetDeclaredMethods Returns a collection that contains all public methods declared on the current type that match the specified name.
GetDeclaredNestedType Returns an object that represents the specified public nested type declared by the current type.
GetDeclaredProperty 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 When overridden in a derived class, returns the Type of the object encompassed or referred to by the current array, pointer or reference type. (Inherited from Type.)
GetEvent(String) Returns the EventInfo object representing the specified public event. (Inherited from Type.)
GetEvent(String, BindingFlags) When overridden in a derived class, returns the EventInfo object representing the specified event, using the specified binding constraints. (Inherited from Type.)
GetEvents()()() Returns all the public events that are declared or inherited by the current Type. (Inherited from Type.)
GetEvents(BindingFlags) When overridden in a derived class, searches for events that are declared or inherited by the current Type, using the specified binding constraints. (Inherited from Type.)
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()()() Returns all the public fields of the current Type. (Inherited from Type.)
GetFields(BindingFlags) When overridden in a derived class, searches for the fields defined for the current Type, using the specified binding constraints. (Inherited from Type.)
GetGenericArguments Returns an array of Type objects that represent the type arguments of a generic type or the type parameters of a generic type definition. (Inherited from Type.)
GetGenericParameterConstraints Returns an array of Type objects that represent the constraints on the current generic type parameter. (Inherited from Type.)
GetGenericTypeDefinition Returns a Type object that represents a generic type definition from which the current generic type can be constructed. (Inherited from Type.)
GetHashCode Returns the hash code for this instance. (Inherited from Type.)
GetInterface 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 Returns an interface mapping for the specified interface type. (Inherited from Type.)
GetInterfaces When overridden in a derived class, gets all the interfaces implemented or inherited by the current Type. (Inherited from Type.)
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()()() Returns all the public members of the current Type. (Inherited from Type.)
GetMembers(BindingFlags) When overridden in a derived class, searches for the members defined for the current Type, using the specified binding constraints. (Inherited from Type.)
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, 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.)
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, 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.)
GetMethodImpl 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()()() Returns all the public methods of the current Type. (Inherited from Type.)
GetMethods(BindingFlags) When overridden in a derived class, searches for the methods defined for the current Type, using the specified binding constraints. (Inherited from Type.)
GetNestedType When overridden in a derived class, searches for the specified nested type, using the specified binding constraints. (Inherited from Type.)
GetNestedTypes When overridden in a derived class, searches for the types nested in the current Type, using the specified binding constraints. (Inherited from Type.)
GetProperties()()() Returns all the public properties of the current Type. (Inherited from Type.)
GetProperties(BindingFlags) When overridden in a derived class, searches for the properties of the current Type, using the specified binding constraints. (Inherited from Type.)
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, 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, 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.)
GetPropertyImpl 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()()() Gets the current Type. (Inherited from Type.)
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>[]()[], 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 When overridden in a derived class, implements the IsArray property and determines whether the Type is an array. (Inherited from Type.)
IsAssignableFrom(Type) Determines whether an instance of the current Type can be assigned from an instance of the specified Type. (Inherited from Type.)
IsAssignableFrom(TypeInfo) Returns a value that indicates whether the specified type can be assigned to the current type.
IsByRefImpl When overridden in a derived class, implements the IsByRef property and determines whether the Type is passed by reference. (Inherited from Type.)
IsCOMObjectImpl When overridden in a derived class, implements the IsCOMObject property and determines whether the Type is a COM object. (Inherited from Type.)
IsDefined 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.)
IsInstanceOfType Determines whether the specified object is an instance of the current Type. (Inherited from Type.)
IsPointerImpl When overridden in a derived class, implements the IsPointer property and determines whether the Type is a pointer. (Inherited from Type.)
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 Determines whether the class represented by the current Type derives from the class represented by the specified Type. (Inherited from 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()()() Returns a Type object representing a one-dimensional array of the current type, with a lower bound of zero. (Inherited from Type.)
MakeArrayType(Int32) Returns a Type object representing an array of the current type, with the specified number of dimensions. (Inherited from Type.)
MakeByRefType Returns a Type object that represents the current type when passed as a ref parameter (ByRef parameter in Visual Basic). (Inherited from Type.)
MakeGenericType Substitutes the elements of an array of types for the type parameters of the current generic type definition and returns a Type object representing the resulting constructed type. (Inherited from Type.)
MakePointerType Returns a Type object that represents a pointer to the current type. (Inherited from Type.)
MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
ToString Returns a String representing the name of the current Type. (Inherited from Type.)

Top

Extension Methods

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<(Of <(T>)>)()()() Overloaded. Retrieves a custom attribute of a specified type that is applied to a specified member. (Defined by CustomAttributeExtensions.)
GetCustomAttribute<(Of <(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<(Of <(T>)>)()()() Overloaded. Retrieves a collection of custom attributes of a specified type that are applied to a specified member. (Defined by CustomAttributeExtensions.)
GetCustomAttributes<(Of <(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 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 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 Returns an interface mapping for the specified type and the specified interface. (Defined by RuntimeReflectionExtensions.)
GetRuntimeMethod 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 Retrieves an object that represents a specified property. (Defined by RuntimeReflectionExtensions.)
GetTypeInfo Returns the TypeInfo representation of the specified type. (Defined by IntrospectionExtensions.)
IsDefined Indicates whether custom attributes of a specified type are applied to a specified member. (Defined by CustomAttributeExtensions.)

Top

Explicit Interface Implementations

Name Description
IReflectableType..::.GetTypeInfo Returns a representation of the current type as a TypeInfo object.

Top

Version Information

Windows Phone OS

Supported in: 8.1, 8.0

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

System.Reflection Namespace