EnumBuilder Class

Definition

Describes and represents an enumeration type.

public ref class EnumBuilder sealed : System::Reflection::TypeInfo, System::Runtime::InteropServices::_EnumBuilder
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class EnumBuilder : System.Reflection.TypeInfo, System.Runtime.InteropServices._EnumBuilder
type EnumBuilder = class
    inherit TypeInfo
    interface _EnumBuilder
Public NotInheritable Class EnumBuilder
Inherits TypeInfo
Implements _EnumBuilder
Inheritance
EnumBuilder
Attributes
Implements

Examples

The following code example demonstrates the construction of an enumeration within a dynamic assembly, using EnumBuilder. The example defines an enumeration named Elevation, with an underlying type of Int32, and creates two elements: Low, with a value of 0, and High, with a value of 1. After the type has been created, the assembly is saved with the name TempAssembly.dll. You can use the Ildasm.exe (IL Disassembler) to examine the contents of this assembly.

Note

Prior to the .NET Framework version 2.0, this code example does not produce a correct enumeration.

using namespace System;
using namespace System::Reflection;
using namespace System::Reflection::Emit;

void main()
{
    // Get the current application domain for the current thread.
    AppDomain^ currentDomain = AppDomain::CurrentDomain;
      
    // Create a dynamic assembly in the current application domain, 
    // and allow it to be executed and saved to disk.
    AssemblyName^ aName = gcnew AssemblyName("TempAssembly");
    AssemblyBuilder^ ab = currentDomain->DefineDynamicAssembly( 
            aName, AssemblyBuilderAccess::RunAndSave);
      
    // Define a dynamic module in "TempAssembly" assembly. For a single-
    // module assembly, the module has the same name as the assembly.
    ModuleBuilder^ mb = 
            ab->DefineDynamicModule(aName->Name, aName->Name + ".dll");
      
    // Define a public enumeration with the name "Elevation" and an 
    // underlying type of Int32.
    EnumBuilder^ eb = 
            mb->DefineEnum("Elevation", TypeAttributes::Public, int::typeid);
      
    // Define two members, "High" and "Low".
    eb->DefineLiteral("Low", (Object^) 0);
    eb->DefineLiteral("High", 1);

    // Create the type and save the assembly.
    Type^ finished = eb->CreateType();
    ab->Save(aName->Name + ".dll");

    for each (Object^ o in Enum::GetValues(finished))
    {
        Console::WriteLine("{0}.{1} = {2}", finished, o, (int)o);
    }
}

/* This code example produces the following output:

Elevation.Low = 0
Elevation.High = 1
 */
using System;
using System.Reflection;
using System.Reflection.Emit;

class Example
{
    public static void Main()
    {
        // Get the current application domain for the current thread.
        AppDomain currentDomain = AppDomain.CurrentDomain;
      
        // Create a dynamic assembly in the current application domain, 
        // and allow it to be executed and saved to disk.
        AssemblyName aName = new AssemblyName("TempAssembly");
        AssemblyBuilder ab = currentDomain.DefineDynamicAssembly(
            aName, AssemblyBuilderAccess.RunAndSave);
      
        // Define a dynamic module in "TempAssembly" assembly. For a single-
        // module assembly, the module has the same name as the assembly.
        ModuleBuilder mb = ab.DefineDynamicModule(aName.Name, aName.Name + ".dll");
      
        // Define a public enumeration with the name "Elevation" and an 
        // underlying type of Integer.
        EnumBuilder eb = mb.DefineEnum("Elevation", TypeAttributes.Public, typeof(int));
      
        // Define two members, "High" and "Low".
        eb.DefineLiteral("Low", 0);
        eb.DefineLiteral("High", 1);

        // Create the type and save the assembly.
        Type finished = eb.CreateType();
        ab.Save(aName.Name + ".dll");

        foreach( object o in Enum.GetValues(finished) )
        {
            Console.WriteLine("{0}.{1} = {2}", finished, o, ((int) o));
        }
    }
}

/* This code example produces the following output:

Elevation.Low = 0
Elevation.High = 1 
 */
Imports System.Reflection
Imports System.Reflection.Emit

Module Example
   
    Sub Main()
      
        ' Get the current application domain for the current thread.
        Dim currentDomain As AppDomain = AppDomain.CurrentDomain
      
        ' Create a dynamic assembly in the current application domain, 
        ' and allow it to be executed and saved to disk.
        Dim aName As AssemblyName = New AssemblyName("TempAssembly")
        Dim ab As AssemblyBuilder = currentDomain.DefineDynamicAssembly( _ 
            aName, AssemblyBuilderAccess.RunAndSave)
      
        ' Define a dynamic module in "TempAssembly" assembly. For a single-
        ' module assembly, the module has the same name as the assembly.
        Dim mb As ModuleBuilder = _
            ab.DefineDynamicModule(aName.Name, aName.Name & ".dll")
      
        ' Define a public enumeration with the name "Elevation" and an 
        ' underlying type of Integer.
        Dim eb As EnumBuilder = _
            mb.DefineEnum("Elevation", TypeAttributes.Public, GetType(Integer))
      
        ' Define two members, "High" and "Low".
        eb.DefineLiteral("Low", 0)
        eb.DefineLiteral("High", 1)

        ' Create the type and save the assembly.
        Dim finished As Type = eb.CreateType()
        ab.Save(aName.Name & ".dll")

        For Each o As Object In [Enum].GetValues(finished)
            Console.WriteLine("{0}.{1} = {2}", finished, o, CInt(o))
        Next
   End Sub
End Module

' This code example produces the following output:
'
'Elevation.Low = 0
'Elevation.High = 1 

Remarks

Note

In the .NET Framework versions 1.0 and 1.1, it is necessary to define enumerations using TypeBuilder because EnumBuilder emits enumerations whose elements are of type Int32 instead of the enumeration type. In the .NET Framework version 2.0, EnumBuilder emits enumerations whose elements have the correct type.

Properties

Assembly

Retrieves the dynamic assembly that contains this enum definition.

AssemblyQualifiedName

Returns the full path of this enum qualified by the display name of the parent assembly.

Attributes
BaseType

Returns the parent Type of this type which is always Enum.

ContainsGenericParameters
CustomAttributes

Gets a collection that contains this member's custom attributes.

(Inherited from MemberInfo)
DeclaringMethod
DeclaringType

Returns the type that declared this EnumBuilder.

FullName

Returns the full path of this enum.

GenericParameterAttributes
GenericParameterPosition
GenericTypeArguments
GUID

Returns the GUID of this enum.

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)
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 that indicates 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 fields of the current type are laid out automatically by the common language runtime.

(Inherited from Type)
IsByRef

Gets a value indicating whether the Type is passed by reference.

(Inherited from Type)
IsByRefLike
IsClass

Gets a value indicating whether the Type is a class or a delegate; that is, not a value type or interface.

(Inherited from Type)
IsCollectible

Gets a value that indicates whether this MemberInfo object is part of an assembly held in a collectible AssemblyLoadContext.

(Inherited from MemberInfo)
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.

IsContextful

Gets a value indicating whether the Type can be hosted in a context.

(Inherited from Type)
IsEnum
IsExplicitLayout

Gets a value indicating whether the fields of the current type are laid out at explicitly specified offsets.

(Inherited from Type)
IsGenericMethodParameter

Gets a value that indicates whether the current Type represents a type parameter in the definition of a generic method.

(Inherited from Type)
IsGenericParameter
IsGenericType
IsGenericTypeDefinition
IsGenericTypeParameter

Gets a value that indicates whether the current Type represents a type parameter in the definition of a generic type.

(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 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

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)
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
IsSignatureType

Gets a value that indicates whether the type is a signature type.

(Inherited from Type)
IsSpecialName

Gets a value indicating whether the type has a name that requires special handling.

(Inherited from Type)
IsSZArray
IsTypeDefinition
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)
IsVariableBoundArray
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

Retrieves the dynamic module that contains this EnumBuilder definition.

Name

Returns the name of this enum.

Namespace

Returns the namespace of this enum.

ReflectedType

Returns the type that was used to obtain this EnumBuilder.

StructLayoutAttribute

Gets a StructLayoutAttribute that describes the layout of the current type.

(Inherited from Type)
TypeHandle

Retrieves the internal handle for this enum.

TypeInitializer

Gets the initializer for the type.

(Inherited from Type)
TypeToken

Returns the internal metadata type token of this enum.

UnderlyingField

Returns the underlying field for this enum.

UnderlyingSystemType

Returns the underlying system type for this enum.

Methods

CreateType()

Creates a Type object for this enum.

CreateTypeInfo()

Gets a TypeInfo object that represents this enumeration.

DefineLiteral(String, Object)

Defines the named static field in an enumeration type with the specified constant value.

Equals(Object)

Determines if the underlying system type of the current Type object 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)
FindInterfaces(TypeFilter, Object)

Returns an array of Type objects representing a filtered list of interfaces implemented or inherited by the current Type.

(Inherited from Type)
FindMembers(MemberTypes, BindingFlags, MemberFilter, Object)

Returns a filtered array of MemberInfo objects of the specified member type.

(Inherited from Type)
GetArrayRank()
GetAttributeFlagsImpl()

When overridden in a derived class, implements the Attributes property and gets a bitwise combination of enumeration values that indicate the attributes associated with the Type.

(Inherited from Type)
GetConstructor(BindingFlags, Binder, CallingConventions, Type[], 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, Type[], ParameterModifier[])

Searches for a constructor whose parameters match the specified argument types and modifiers, using the specified binding constraints.

(Inherited from Type)
GetConstructor(Type[])

Searches for a public instance constructor whose parameters match the types in the specified array.

(Inherited from Type)
GetConstructorImpl(BindingFlags, Binder, CallingConventions, Type[], 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()

Returns all the public constructors defined for the current Type.

(Inherited from Type)
GetConstructors(BindingFlags)

Returns an array of ConstructorInfo objects representing the public and non-public constructors defined for this class, as specified.

GetCustomAttributes(Boolean)

Returns all the custom attributes defined for this constructor.

GetCustomAttributes(Type, Boolean)

Returns the custom attributes identified by the given type.

GetCustomAttributesData()

Returns a list of CustomAttributeData objects representing data about the attributes that have been applied to the target member.

(Inherited from MemberInfo)
GetDefaultMembers()

Searches for the members defined for the current Type whose DefaultMemberAttribute is set.

(Inherited from Type)
GetElementType()

Calling this method always throws NotSupportedException.

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 integer type of the current enumeration, which is set when the enumeration builder is defined.

GetEnumValues()

Returns an array of the values of the constants in the current enumeration type.

(Inherited from Type)
GetEvent(String)

Returns the EventInfo object representing the specified public event.

(Inherited from Type)
GetEvent(String, BindingFlags)

Returns the event with the specified name.

GetEvents()

Returns the events for the public events declared or inherited by this type.

GetEvents(BindingFlags)

Returns the public and non-public events that are declared by this type.

GetField(String)

Searches for the public field with the specified name.

(Inherited from Type)
GetField(String, BindingFlags)

Returns the field specified by the given name.

GetFields()

Returns all the public fields of the current Type.

(Inherited from Type)
GetFields(BindingFlags)

Returns the public and non-public fields that are declared by this type.

GetGenericArguments()

Returns an array of Type objects that represent the type arguments of a closed generic type or the type parameters of a generic type definition.

(Inherited from Type)
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)

Returns the interface implemented (directly or indirectly) by this type, with the specified fully-qualified name.

GetInterfaceMap(Type)

Returns an interface mapping for the interface requested.

GetInterfaces()

Returns an array of all the interfaces implemented on this a class and its base classes.

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)

Returns all members with the specified name, type, and binding that are declared or inherited by this type.

GetMembers()

Returns all the public members of the current Type.

(Inherited from Type)
GetMembers(BindingFlags)

Returns the specified members declared or inherited by this 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, BindingFlags, Binder, CallingConventions, Type[], 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, Type[], 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, Int32, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

Searches for the specified method whose parameters match the specified generic parameter count, argument types and modifiers, using the specified binding constraints and the specified calling convention.

(Inherited from Type)
GetMethod(String, Int32, BindingFlags, Binder, Type[], ParameterModifier[])

Searches for the specified method whose parameters match the specified generic parameter count, argument types and modifiers, using the specified binding constraints.

(Inherited from Type)
GetMethod(String, Int32, Type[])

Searches for the specified public method whose parameters match the specified generic parameter count and argument types.

(Inherited from Type)
GetMethod(String, Int32, Type[], ParameterModifier[])

Searches for the specified public method whose parameters match the specified generic parameter count, argument types and modifiers.

(Inherited from Type)
GetMethod(String, Type[])

Searches for the specified public method whose parameters match the specified argument types.

(Inherited from Type)
GetMethod(String, Type[], ParameterModifier[])

Searches for the specified public method whose parameters match the specified argument types and modifiers.

(Inherited from Type)
GetMethodImpl(String, BindingFlags, Binder, CallingConventions, Type[], 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)
GetMethodImpl(String, Int32, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])

When overridden in a derived class, searches for the specified method whose parameters match the specified generic parameter count, 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)

Returns all the public and non-public methods declared or inherited by this type, as specified.

GetNestedType(String)

Searches for the public nested type with the specified name.

(Inherited from Type)
GetNestedType(String, BindingFlags)

Returns the specified nested type that is declared by this type.

GetNestedTypes()

Returns the public types nested in the current Type.

(Inherited from Type)
GetNestedTypes(BindingFlags)

Returns the public and non-public nested types that are declared or inherited by this type.

GetProperties()

Returns all the public properties of the current Type.

(Inherited from Type)
GetProperties(BindingFlags)

Returns all the public and non-public properties declared or inherited by this type, as specified.

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, Type[], 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, Type[])

Searches for the specified public property whose parameters match the specified argument types.

(Inherited from Type)
GetProperty(String, Type, Type[], ParameterModifier[])

Searches for the specified public property whose parameters match the specified argument types and modifiers.

(Inherited from Type)
GetProperty(String, Type[])

Searches for the specified public property whose parameters match the specified argument types.

(Inherited from Type)
GetPropertyImpl(String, BindingFlags, Binder, Type, Type[], 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()

Gets the current Type.

(Inherited from Type)
GetTypeCodeImpl()

Returns the underlying type code of this Type instance.

(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)
HasSameMetadataDefinitionAs(MemberInfo) (Inherited from MemberInfo)
InvokeMember(String, BindingFlags, Binder, Object, Object[])

Invokes the specified member, using the specified binding constraints and matching the specified argument list.

(Inherited from Type)
InvokeMember(String, BindingFlags, Binder, Object, 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, Object[], ParameterModifier[], CultureInfo, String[])

Invokes the specified member. The method that is to be invoked must be accessible and provide the most specific match with the specified argument list, under the constraints of the specified binder and invocation attributes.

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 a specified type can be assigned to a variable of the current type.

(Inherited from Type)
IsAssignableFrom(TypeInfo)

Gets a value that indicates whether a specified TypeInfo object can be assigned to this object.

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)
IsContextfulImpl()

Implements the IsContextful property and determines whether the Type can be hosted in a context.

(Inherited from Type)
IsDefined(Type, Boolean)

Checks if the specified custom attribute type is defined.

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)

Determines whether the specified object is an instance of the current Type.

(Inherited from Type)
IsMarshalByRefImpl()

Implements the IsMarshalByRef property and determines whether the Type is marshaled by reference.

(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(Type)

Determines whether the current Type derives from 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.

MakeArrayType(Int32)

Returns a Type object representing an array of the current type, with the specified number of dimensions.

MakeByRefType()

Returns a Type object that represents the current type when passed as a ref parameter (ByRef parameter in Visual Basic).

MakeGenericType(Type[])
MakePointerType()

Returns a Type object that represents a pointer to the current type.

MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
SetCustomAttribute(ConstructorInfo, Byte[])

Sets a custom attribute using a specified custom attribute blob.

SetCustomAttribute(CustomAttributeBuilder)

Sets a custom attribute using a custom attribute builder.

ToString()

Returns a String representing the name of the current Type.

(Inherited from Type)

Explicit Interface Implementations

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

Maps a set of names to a corresponding set of dispatch identifiers.

_EnumBuilder.GetTypeInfo(UInt32, UInt32, IntPtr)

Retrieves the type information for an object, which can then be used to get the type information for an interface.

_EnumBuilder.GetTypeInfoCount(UInt32)

Retrieves the number of type information interfaces that an object provides (either 0 or 1).

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

Provides access to properties and methods exposed by an 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)
ICustomAttributeProvider.GetCustomAttributes(Boolean) (Inherited from MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean) (Inherited from MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean) (Inherited from MemberInfo)

Extension Methods

GetCustomAttribute(MemberInfo, Type)

Retrieves a custom attribute of a specified type that is applied to a specified member.

GetCustomAttribute(MemberInfo, Type, Boolean)

Retrieves a custom attribute of a specified type that is applied to a specified member, and optionally inspects the ancestors of that member.

GetCustomAttribute<T>(MemberInfo)

Retrieves a custom attribute of a specified type that is applied to a specified member.

GetCustomAttribute<T>(MemberInfo, Boolean)

Retrieves a custom attribute of a specified type that is applied to a specified member, and optionally inspects the ancestors of that member.

GetCustomAttributes(MemberInfo)

Retrieves a collection of custom attributes that are applied to a specified member.

GetCustomAttributes(MemberInfo, Boolean)

Retrieves a collection of custom attributes that are applied to a specified member, and optionally inspects the ancestors of that member.

GetCustomAttributes(MemberInfo, Type)

Retrieves a collection of custom attributes of a specified type that are applied to a specified member.

GetCustomAttributes(MemberInfo, Type, Boolean)

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.

GetCustomAttributes<T>(MemberInfo)

Retrieves a collection of custom attributes of a specified type that are applied to a specified member.

GetCustomAttributes<T>(MemberInfo, Boolean)

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.

IsDefined(MemberInfo, Type)

Indicates whether custom attributes of a specified type are applied to a specified member.

IsDefined(MemberInfo, Type, Boolean)

Indicates whether custom attributes of a specified type are applied to a specified member, and, optionally, applied to its ancestors.

GetTypeInfo(Type)

Returns the TypeInfo representation of the specified type.

GetMetadataToken(MemberInfo)

Gets a metadata token for the given member, if available.

HasMetadataToken(MemberInfo)

Returns a value that indicates whether a metadata token is available for the specified member.

GetRuntimeEvent(Type, String)

Retrieves an object that represents the specified event.

GetRuntimeEvents(Type)

Retrieves a collection that represents all the events defined on a specified type.

GetRuntimeField(Type, String)

Retrieves an object that represents a specified field.

GetRuntimeFields(Type)

Retrieves a collection that represents all the fields defined on a specified type.

GetRuntimeMethod(Type, String, Type[])

Retrieves an object that represents a specified method.

GetRuntimeMethods(Type)

Retrieves a collection that represents all methods defined on a specified type.

GetRuntimeProperties(Type)

Retrieves a collection that represents all the properties defined on a specified type.

GetRuntimeProperty(Type, String)

Retrieves an object that represents a specified property.

GetConstructor(Type, Type[])
GetConstructors(Type)
GetConstructors(Type, BindingFlags)
GetDefaultMembers(Type)
GetEvent(Type, String)
GetEvent(Type, String, BindingFlags)
GetEvents(Type)
GetEvents(Type, BindingFlags)
GetField(Type, String)
GetField(Type, String, BindingFlags)
GetFields(Type)
GetFields(Type, BindingFlags)
GetGenericArguments(Type)
GetInterfaces(Type)
GetMember(Type, String)
GetMember(Type, String, BindingFlags)
GetMembers(Type)
GetMembers(Type, BindingFlags)
GetMethod(Type, String)
GetMethod(Type, String, BindingFlags)
GetMethod(Type, String, Type[])
GetMethods(Type)
GetMethods(Type, BindingFlags)
GetNestedType(Type, String, BindingFlags)
GetNestedTypes(Type, BindingFlags)
GetProperties(Type)
GetProperties(Type, BindingFlags)
GetProperty(Type, String)
GetProperty(Type, String, BindingFlags)
GetProperty(Type, String, Type)
GetProperty(Type, String, Type, Type[])
IsAssignableFrom(Type, Type)
IsInstanceOfType(Type, Object)

Applies to