Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

TypeBuilder-Klasse

Definiert und erstellt neue Instanzen von Klassen zur Laufzeit.

System.Object
  System.Reflection.MemberInfo
    System.Type
      System.Reflection.TypeInfo
        System.Reflection.Emit.TypeBuilder

Namespace:  System.Reflection.Emit
Assembly:  mscorlib (in mscorlib.dll)
[ClassInterfaceAttribute(ClassInterfaceType.None)]
[ComVisibleAttribute(true)]
[HostProtectionAttribute(SecurityAction.LinkDemand, MayLeakOnAbort = true)]
public sealed class TypeBuilder : TypeInfo, 
	_TypeBuilder

Der TypeBuilder-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche EigenschaftAssemblyRuft die dynamische Assembly ab, die diese Typdefinition enthält. (Überschreibt Type.Assembly.)
Öffentliche EigenschaftAssemblyQualifiedNameGibt den vollständigen Namen dieses Typs zurück, der durch den Anzeigenamen der Assembly gekennzeichnet ist. (Überschreibt Type.AssemblyQualifiedName.)
Öffentliche EigenschaftAttributesRuft die Type zugeordneten Attribute ab. (Von Type geerbt.)
Öffentliche EigenschaftBaseTypeRuft den Basistyp für diesen Typ ab. (Überschreibt Type.BaseType.)
Öffentliche EigenschaftContainsGenericParametersRuft einen Wert ab, der angibt, ob das aktuelle Type-Objekt über Typparameter verfügt, die nicht durch bestimmte Typen ersetzt wurden. (Von Type geerbt.)
Öffentliche EigenschaftCustomAttributesRuft eine Auflistung ab, die die benutzerdefinierten Attribute des Members enthält. (Von MemberInfo geerbt.)
Öffentliche EigenschaftDeclaredConstructorsRuft eine Auflistung der Konstruktoren ab, die vom aktuellen Typ deklariert werden. (Von TypeInfo geerbt.)
Öffentliche EigenschaftDeclaredEventsRuft eine Auflistung der Ereignisse ab, die vom aktuellen Typ definiert sind. (Von TypeInfo geerbt.)
Öffentliche EigenschaftDeclaredFieldsRuft eine Auflistung der Felder ab, die vom aktuellen Typ definiert sind. (Von TypeInfo geerbt.)
Öffentliche EigenschaftDeclaredMembersRuft eine Auflistung der Member ab, die vom aktuellen Typ definiert sind. (Von TypeInfo geerbt.)
Öffentliche EigenschaftDeclaredMethodsRuft eine Auflistung der Methoden ab, die vom aktuellen Typ definiert sind. (Von TypeInfo geerbt.)
Öffentliche EigenschaftDeclaredNestedTypesRuft eine Auflistung mit den geschachtelten Typen ab, die vom aktuellen Typ definiert sind. (Von TypeInfo geerbt.)
Öffentliche EigenschaftDeclaredPropertiesRuft eine Auflistung von Eigenschaften ab, die vom aktuellen Typ definiert sind. (Von TypeInfo geerbt.)
Öffentliche EigenschaftDeclaringMethodRuft die Methode ab, die den aktuellen generischen Typparameter deklariert hat. (Überschreibt Type.DeclaringMethod.)
Öffentliche EigenschaftDeclaringTypeGibt den Typ zurück, von dem dieser Typ deklariert wurde. (Überschreibt Type.DeclaringType.)
Öffentliche EigenschaftFullNameRuft den vollständigen Pfad dieses Typs ab. (Überschreibt Type.FullName.)
Öffentliche EigenschaftGenericParameterAttributesRuft einen Wert ab, der die Kovarianz und die speziellen Einschränkungen des aktuellen generischen Typparameters angibt. (Überschreibt Type.GenericParameterAttributes.)
Öffentliche EigenschaftGenericParameterPositionRuft die Position eines Typparameters in der Typparameterliste des generischen Typs ab, der den Parameter deklariert hat. (Überschreibt Type.GenericParameterPosition.)
Öffentliche EigenschaftGenericTypeArgumentsRuft ein Array von generischen Typargumenten für diesen Typ ab. (Von Type geerbt.)
Öffentliche EigenschaftGenericTypeParametersRuft ein Array von generischen Parametern des aktuellen Typs ab. (Von TypeInfo geerbt.)
Öffentliche EigenschaftGUIDRuft die GUID dieses Typs ab. (Überschreibt Type.GUID.)
Öffentliche EigenschaftHasElementTypeRuft einen Wert ab, der angibt, ob der aktuelle Type einen anderen Typ umfasst oder auf einen anderen Typ verweist, d. h., ob der aktuelle Type ein Array oder ein Zeiger ist oder als Verweis übergeben wird. (Von Type geerbt.)
Öffentliche EigenschaftImplementedInterfacesRuft eine Auflistung der Schnittstellen ab, die vom aktuellen Typ implementiert werden. (Von TypeInfo geerbt.)
Öffentliche EigenschaftIsAbstractRuft einen Wert ab, der angibt, ob Type abstrakt ist und überschrieben werden muss. (Von Type geerbt.)
Öffentliche EigenschaftIsAnsiClassRuft einen Wert ab, der angibt, ob für Type das Zeichenfolgenformatattribut AnsiClass ausgewählt ist. (Von Type geerbt.)
Öffentliche EigenschaftIsArrayRuft einen Wert ab, der angibt, ob Type ein Array ist. (Von Type geerbt.)
Öffentliche EigenschaftIsAutoClassRuft einen Wert ab, der angibt, ob für Type das Zeichenfolgenformatattribut AutoClass ausgewählt ist. (Von Type geerbt.)
Öffentliche EigenschaftIsAutoLayoutRuft einen Wert ab, der angibt, ob für Type das Klassenlayoutattribut AutoLayout ausgewählt ist. (Von Type geerbt.)
Öffentliche EigenschaftIsByRefRuft einen Wert ab, der angibt, ob Type als Verweis übergeben wird. (Von Type geerbt.)
Öffentliche EigenschaftIsClassRuft einen Wert ab, der angibt, ob Type eine Klasse ist, d. h. weder ein Werttyp noch eine Schnittstelle. (Von Type geerbt.)
Öffentliche EigenschaftIsCOMObjectRuft einen Wert ab, der angibt, ob Type ein COM-Objekt ist. (Von Type geerbt.)
Öffentliche EigenschaftIsConstructedGenericTypeRuft einen Wert ab, der angibt, ob dieses Objekt einen konstruierten generischen Typ darstellt. (Überschreibt Type.IsConstructedGenericType.)
Öffentliche EigenschaftIsContextfulRuft einen Wert ab, der angibt, ob Type in einen Kontext aufgenommen werden kann. (Von Type geerbt.)
Öffentliche EigenschaftIsEnumRuft einen Wert ab, der angibt, ob der aktuelle Type eine Enumeration darstellt. (Von Type geerbt.)
Öffentliche EigenschaftIsExplicitLayoutRuft einen Wert ab, der angibt, ob für Type das Klassenlayoutattribut ExplicitLayout ausgewählt ist. (Von Type geerbt.)
Öffentliche EigenschaftIsGenericParameterRuft einen Wert ab, der angibt, ob der aktuelle Typ ein generischer Typparameter ist. (Überschreibt Type.IsGenericParameter.)
Öffentliche EigenschaftIsGenericTypeRuft einen Wert ab, der angibt, ob der aktuelle Typ ein generischer Typ ist. (Überschreibt Type.IsGenericType.)
Öffentliche EigenschaftIsGenericTypeDefinitionRuft einen Wert ab, der angibt, ob der aktuelle TypeBuilder eine generische Typdefinition darstellt, aus der andere generische Typen konstruiert werden können. (Überschreibt Type.IsGenericTypeDefinition.)
Öffentliche EigenschaftIsImportRuft einen Wert ab, der angibt, ob der Type ein ComImportAttribute-Attribut hat, was bedeutet, dass er aus einer COM-Typbibliothek importiert wurde. (Von Type geerbt.)
Öffentliche EigenschaftIsInterfaceRuft einen Wert ab, der angibt, ob Type eine Schnittstelle ist, d. h. weder eine Klasse noch ein Werttyp. (Von Type geerbt.)
Öffentliche EigenschaftIsLayoutSequentialRuft einen Wert ab, der angibt, ob für Type das Klassenlayoutattribut SequentialLayout ausgewählt ist. (Von Type geerbt.)
Öffentliche EigenschaftIsMarshalByRefRuft einen Wert ab, der angibt, ob der Type als Verweis gemarshallt wird. (Von Type geerbt.)
Öffentliche EigenschaftIsNestedRuft einen Wert ab, der angibt, ob das aktuelle Type-Objekt einen Typ darstellt, dessen Definition in der Definition eines anderen Typs geschachtelt ist. (Von Type geerbt.)
Öffentliche EigenschaftIsNestedAssemblyRuft einen Wert ab, der angibt, ob Type geschachtelt und nur innerhalb der eigenen Assembly sichtbar ist. (Von Type geerbt.)
Öffentliche EigenschaftIsNestedFamANDAssemRuft einen Wert ab, der angibt, ob Type geschachtelt und ausschließlich für Klassen sichtbar ist, die sowohl zur eigenen Familie als auch zur eigenen Assembly gehören. (Von Type geerbt.)
Öffentliche EigenschaftIsNestedFamilyRuft einen Wert ab, der angibt, ob Type geschachtelt und nur innerhalb der eigenen Familie sichtbar ist. (Von Type geerbt.)
Öffentliche EigenschaftIsNestedFamORAssemRuft einen Wert ab, der angibt, ob Type geschachtelt und ausschließlich für Klassen sichtbar ist, die zur eigenen Familie oder zur eigenen Assembly gehören. (Von Type geerbt.)
Öffentliche EigenschaftIsNestedPrivateRuft einen Wert ab, der angibt, ob Type geschachtelt und als privat deklariert ist. (Von Type geerbt.)
Öffentliche EigenschaftIsNestedPublicRuft einen Wert ab, der angibt, ob eine Klasse geschachtelt und als öffentlich deklariert ist. (Von Type geerbt.)
Öffentliche EigenschaftIsNotPublicRuft einen Wert ab, der angibt, ob der Type nicht als öffentlich deklariert ist. (Von Type geerbt.)
Öffentliche EigenschaftIsPointerRuft einen Wert ab, der angibt, ob Type ein Zeiger ist. (Von Type geerbt.)
Öffentliche EigenschaftIsPrimitiveRuft einen Wert ab, der angibt, ob Type zu den primitiven Typen gehört. (Von Type geerbt.)
Öffentliche EigenschaftIsPublicRuft einen Wert ab, der angibt, ob der Type als öffentlich deklariert ist. (Von Type geerbt.)
Öffentliche EigenschaftIsSealedRuft einen Wert ab, der angibt, ob Type als versiegelt deklariert ist. (Von Type geerbt.)
Öffentliche EigenschaftIsSecurityCriticalRuft einen Wert ab, der angibt, ob der aktuelle Typ sicherheitsrelevant oder sicherheitsrelevant und sicher zugänglich ist und daher wichtige Vorgänge ausführen darf. (Überschreibt Type.IsSecurityCritical.)
Öffentliche EigenschaftIsSecuritySafeCriticalRuft einen Wert ab, der angibt, ob der aktuelle Typ sicherheitsrelevant und sicher zugänglich ist, d. h., ob er wichtige Vorgänge ausführen darf und ob von transparentem Code auf ihn zugegriffen werden kann. (Überschreibt Type.IsSecuritySafeCritical.)
Öffentliche EigenschaftIsSecurityTransparentRuft einen Wert ab, der angibt, ob der aktuelle Typ transparent ist und daher keine wichtigen Vorgänge ausführen kann. (Überschreibt Type.IsSecurityTransparent.)
Öffentliche EigenschaftIsSerializableRuft einen Wert ab, der angibt, ob Type serialisierbar ist. (Von Type geerbt.)
Öffentliche EigenschaftIsSpecialNameRuft einen Wert ab, der angibt, ob Type einen Namen besitzt, der eine Sonderbehandlung erfordert. (Von Type geerbt.)
Öffentliche EigenschaftIsUnicodeClassRuft einen Wert ab, der angibt, ob für Type das Zeichenfolgenformatattribut UnicodeClass ausgewählt ist. (Von Type geerbt.)
Öffentliche EigenschaftIsValueTypeRuft einen Wert ab, der angibt, ob Type ein Werttyp ist. (Von Type geerbt.)
Öffentliche EigenschaftIsVisibleRuft einen Wert ab, der angibt, ob auf den Type aus Code von außerhalb der Assembly zugegriffen werden kann. (Von Type geerbt.)
Öffentliche EigenschaftMemberTypeRuft einen MemberTypes-Wert ab, der angibt, dass dieser Member ein Typ oder ein geschachtelter Typ ist. (Von Type geerbt.)
Öffentliche EigenschaftMetadataTokenRuft einen Wert ab, der ein Metadatenelement identifiziert. (Von MemberInfo geerbt.)
Öffentliche EigenschaftModuleRuft das dynamische Modul ab, das diese Typdefinition enthält. (Überschreibt Type.Module.)
Öffentliche EigenschaftNameRuft den Namen dieses Typs ab. (Überschreibt MemberInfo.Name.)
Öffentliche EigenschaftNamespaceRuft den Namespace ab, in dem dieser TypeBuilder definiert ist. (Überschreibt Type.Namespace.)
Öffentliche EigenschaftPackingSizeRuft die Komprimierungsgröße dieses Typs ab.
Öffentliche EigenschaftReflectedTypeGibt den Typ zurück, mit dem dieser Typ abgerufen wurde. (Überschreibt Type.ReflectedType.)
Öffentliche EigenschaftSizeRuft die Gesamtgröße dieses Typs ab.
Öffentliche EigenschaftStructLayoutAttributeRuft ein StructLayoutAttribute ab, der das Layout des aktuellen Typs beschreibt. (Von Type geerbt.)
Öffentliche EigenschaftTypeHandleWird in dynamischen Modulen nicht unterstützt. (Überschreibt Type.TypeHandle.)
Öffentliche EigenschaftTypeInitializerRuft den Initialisierer für Type ab. (Von Type geerbt.)
Öffentliche EigenschaftTypeTokenGibt das Typtoken dieses Typs zurück.
Öffentliche EigenschaftUnderlyingSystemTypeGibt den zugrunde liegenden Systemtyp für diesen TypeBuilder zurück. (Überschreibt Type.UnderlyingSystemType.)
Zum Seitenanfang
  NameBeschreibung
Öffentliche MethodeAddDeclarativeSecurityFügt diesem Typ Deklarationssicherheit hinzu.
Öffentliche MethodeAddInterfaceImplementationFügt eine von diesem Typ implementierte Schnittstelle hinzu.
Öffentliche MethodeAsTypeGibt den aktuellen Typ als Type-Objekt zurück. (Von TypeInfo geerbt.)
Öffentliche MethodeCreateTypeErstellt ein Type-Objekt für die Klasse. Nach dem Definieren von Feldern und Methoden für die Klasse wird CreateType aufgerufen, um das entsprechende Type-Objekt zu laden.
Öffentliche MethodeCreateTypeInfoRuft ein TypeInfo-Objekt ab, das diesen Typ darstellt.
Öffentliche MethodeDefineConstructor(MethodAttributes, CallingConventions, Type[])Fügt dem Typ einen neuen Konstruktor mit den Angaben für Attribute und Signatur hinzu.
Öffentliche MethodeDefineConstructor(MethodAttributes, CallingConventions, Type[], Type[][], Type[][])Fügt dem Typ einen neuen Konstruktor mit den Angaben für Attribute, Signatur und benutzerdefinierte Modifizierer hinzu.
Öffentliche MethodeDefineDefaultConstructorDefiniert den Standardkonstruktor. Der hier definierte Konstruktor ruft lediglich den Standardkonstruktor des übergeordneten Elements auf.
Öffentliche MethodeDefineEventFügt dem Typ ein neues Ereignis mit dem angegebenen Namen, den Attributen und dem Ereignistyp hinzu.
Öffentliche MethodeDefineField(String, Type, FieldAttributes)Fügt dem Typ ein neues Feld mit dem angegebenen Namen, den Attributen und dem Feldtyp hinzu.
Öffentliche MethodeDefineField(String, Type, Type[], Type[], FieldAttributes)Fügt dem Typ ein neues Feld mit dem angegebenen Namen, den Attributen, dem Feldtyp und benutzerdefinierten Modifizierern hinzu.
Öffentliche MethodeDefineGenericParametersDefiniert die generischen Typparameter für den aktuellen Typ unter Angabe ihrer Anzahl und Namen und gibt ein Array von GenericTypeParameterBuilder-Objekten zurück, mit dem ihre Einschränkungen festgelegt werden können.
Öffentliche MethodeDefineInitializedDataDefiniert ein initialisiertes Datenfeld im .sdata-Abschnitt der PE-Datei (Portable Executable, übertragbare ausführbare Datei).
Öffentliche MethodeDefineMethod(String, MethodAttributes)Fügt dem Typ eine neue Methode mit dem angegebenen Namen und den Methodenattributen hinzu.
Öffentliche MethodeDefineMethod(String, MethodAttributes, CallingConventions)Fügt dem Typ eine neue Methode mit dem angegebenen Namen, den Methodenattributen und der Aufrufkonvention hinzu.
Öffentliche MethodeDefineMethod(String, MethodAttributes, Type, Type[])Fügt dem Typ eine neue Methode mit dem angegebenen Namen, den Methodenattributen und der Methodensignatur hinzu.
Öffentliche MethodeDefineMethod(String, MethodAttributes, CallingConventions, Type, Type[])Fügt dem Typ eine neue Methode mit dem angegebenen Namen, den Methodenattributen, der Aufrufkonvention und der Methodensignatur hinzu.
Öffentliche MethodeDefineMethod(String, MethodAttributes, CallingConventions, Type, Type[], Type[], Type[], Type[][], Type[][])Fügt dem Typ eine neue Methode mit dem angegebenen Namen, den Methodenattributen, der Aufrufkonvention, der Methodensignatur und benutzerdefinierten Modifizierern hinzu.
Öffentliche MethodeDefineMethodOverrideGibt einen bestimmten Methodentext an, der eine bestimmte Methodendeklaration implementiert, möglicherweise mit einem anderen Namen.
Öffentliche MethodeDefineNestedType(String)Definiert einen geschachtelten Typ mit dessen angegebenen Namen.
Öffentliche MethodeDefineNestedType(String, TypeAttributes)Definiert einen geschachtelten Typ mit dessen angegebenen Namen und Attributen.
Öffentliche MethodeDefineNestedType(String, TypeAttributes, Type)Definiert einen geschachtelten Typ mit dem angegebenen Namen, den Attributen und dem von ihm erweiterten Typ.
Öffentliche MethodeDefineNestedType(String, TypeAttributes, Type, Int32)Definiert einen geschachtelten Typ mit dem angegebenen Namen, den Attributen, der Gesamtgröße des Typs und dem durch ihn erweiterten Typ.
Öffentliche MethodeDefineNestedType(String, TypeAttributes, Type, PackingSize)Definiert einen geschachtelten Typ mit dem angegebenen Namen, den Attributen, dem von ihm erweiterten Typ und der Komprimierungsgröße.
Öffentliche MethodeDefineNestedType(String, TypeAttributes, Type, Type[])Definiert einen geschachtelten Typ mit seinem angegebenen Namen, den Attributen, dem von ihm erweiterten Typ und den implementierten Schnittstellen.
Öffentliche MethodeDefineNestedType(String, TypeAttributes, Type, PackingSize, Int32)Definiert einen geschachtelten Typ mit dem angegebenen Namen, den Attributen, die Größe und den von ihm erweiterten Typ.
Öffentliche MethodeDefinePInvokeMethod(String, String, MethodAttributes, CallingConventions, Type, Type[], CallingConvention, CharSet)Definiert eine PInvoke-Methode anhand der Angaben für den Namen, den Namen der DLL, in der die Methode definiert ist, für die Attribute der Methode, die Aufrufkonvention der Methode, den Rückgabetyp der Methode, die Parametertypen der Methode und die PInvoke-Flags.
Öffentliche MethodeDefinePInvokeMethod(String, String, String, MethodAttributes, CallingConventions, Type, Type[], CallingConvention, CharSet)Definiert eine PInvoke-Methode anhand der Angaben für den Namen, den Namen der DLL, in der die Methode definiert ist, den Namen des Einstiegspunktes, die Attribute der Methode, die Aufrufkonvention der Methode, den Rückgabetyp der Methode, die Parametertypen der Methode und die PInvoke-Flags.
Öffentliche MethodeDefinePInvokeMethod(String, String, String, MethodAttributes, CallingConventions, Type, Type[], Type[], Type[], Type[][], Type[][], CallingConvention, CharSet)Definiert eine PInvoke-Methode anhand der Angaben für den Namen, den Namen der DLL, in der die Methode definiert ist, den Namen des Einstiegspunktes, die Attribute der Methode, die Aufrufkonvention der Methode, den Rückgabetyp der Methode, die Parametertypen der Methode, die PInvoke-Flags und die benutzerdefinierten Modifizierer für die Parameter und den Rückgabetyp.
Öffentliche MethodeDefineProperty(String, PropertyAttributes, Type, Type[])Fügt dem Typ eine neue Eigenschaft mit den Angaben für den Namen und die Signatur der Eigenschaften hinzu.
Öffentliche MethodeDefineProperty(String, PropertyAttributes, CallingConventions, Type, Type[])Fügt dem Typ eine neue Eigenschaft mit den Angaben für Name, Attribute, Aufrufkonvention und Signatur der Eigenschaft hinzu.
Öffentliche MethodeDefineProperty(String, PropertyAttributes, Type, Type[], Type[], Type[], Type[][], Type[][])Fügt dem Typ eine neue Eigenschaft mit den Angaben für Name, Signatur der Eigenschaft und benutzerdefinierte Modifizierer hinzu.
Öffentliche MethodeDefineProperty(String, PropertyAttributes, CallingConventions, Type, Type[], Type[], Type[], Type[][], Type[][])Fügt dem Typ eine neue Eigenschaft mit den Angaben für Name, Aufrufkonvention, Signatur der Eigenschaft und benutzerdefinierte Modifizierer hinzu.
Öffentliche MethodeDefineTypeInitializerDefiniert den Initialisierer für diesen Typ.
Öffentliche MethodeDefineUninitializedDataDefiniert ein nicht initialisiertes Datenfeld im .sdata-Abschnitt der übertragbaren ausführbaren Datei (Portable Executable, PE).
Öffentliche MethodeEquals(Object)Bestimmt, ob der zugrunde liegende Systemtyp des aktuellen Type mit dem zugrunde liegenden Systemtyp des angegebenen Object übereinstimmt. (Von Type geerbt.)
Öffentliche MethodeEquals(Type)Bestimmt, ob der zugrunde liegende Systemtyp des aktuellen Type mit dem zugrunde liegenden Systemtyp des angegebenen Type übereinstimmt. (Von Type geerbt.)
Öffentliche MethodeFindInterfacesGibt ein Array von Type-Objekten zurück, die eine gefilterte Liste von Schnittstellen darstellen, die vom aktuellen Type implementiert oder geerbt wurden. (Von Type geerbt.)
Öffentliche MethodeFindMembersGibt ein gefiltertes Array von MemberInfo-Objekten mit dem angegebenen Membertyp zurück. (Von Type geerbt.)
Öffentliche MethodeGetArrayRankRuft die Anzahl der Dimensionen eines Array ab. (Von Type geerbt.)
Öffentliche MethodeGetConstructor(Type[])Sucht einen öffentlichen Konstruktor für Instanzen, dessen Parameter den Typen im angegebenen Array entsprechen. (Von Type geerbt.)
Öffentliche MethodeStatischer MemberGetConstructor(Type, ConstructorInfo)Gibt den Konstruktor des angegebenen konstruierten generischen Typs zurück, der dem angegebenen Konstruktor der generischen Typdefinition entspricht.
Öffentliche MethodeGetConstructor(BindingFlags, Binder, Type[], ParameterModifier[])Sucht einen Konstruktor, dessen Parameter unter Verwendung der angegebenen Bindungseinschränkungen den angegebenen Argumenttypen und -modifizierern entsprechen. (Von Type geerbt.)
Öffentliche MethodeGetConstructor(BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])Sucht einen Konstruktor, dessen Parameter den angegebenen Argumenttypen und -modifizierern entsprechen, und berücksichtigt dabei die angegebenen Bindungseinschränkungen und die angegebene Aufrufkonvention. (Von Type geerbt.)
Öffentliche MethodeGetConstructors()Gibt alle für den aktuellen Type definierten öffentlichen Konstruktoren zurück. (Von Type geerbt.)
Öffentliche MethodeGetConstructors(BindingFlags)Gibt, wie angegeben, ein Array von ConstructorInfo-Objekten zurück, die die öffentlichen und nicht öffentlichen Konstruktoren darstellen, die für diese Klasse definiert sind. (Überschreibt Type.GetConstructors(BindingFlags).)
Öffentliche MethodeGetCustomAttributes(Boolean)Gibt alle für diesen Typ festgelegten benutzerdefinierten Attribute zurück. (Überschreibt MemberInfo.GetCustomAttributes(Boolean).)
Öffentliche MethodeGetCustomAttributes(Type, Boolean)Gibt alle benutzerdefinierten Attribute des aktuellen Typs zurück, die einem angegebenen Typ zugewiesen werden können. (Überschreibt MemberInfo.GetCustomAttributes(Type, Boolean).)
Öffentliche MethodeGetCustomAttributesDataGibt eine Liste von CustomAttributeData-Objekten zurück, die Daten über die für das Ziel übernommenen Attribute darstellen. (Von MemberInfo geerbt.)
Öffentliche MethodeGetDeclaredEventGibt ein Objekt zurück, das das angegebene öffentliche Ereignis darstellt, das in den aktuellen Typ deklariert wird. (Von TypeInfo geerbt.)
Öffentliche MethodeGetDeclaredFieldGibt ein Objekt zurück, das das angegebene öffentliche Feld darstellt, das durch den aktuellen Typ deklariert wird. (Von TypeInfo geerbt.)
Öffentliche MethodeGetDeclaredMethodGibt ein Objekt zurück, das die angegebene öffentliche Methode darstellt, die durch den aktuellen Typ deklariert wird. (Von TypeInfo geerbt.)
Öffentliche MethodeGetDeclaredMethodsGibt eine Auflistung zurück, die alle öffentlichen Methoden enthält, die für den aktuellen Typ deklariert werden, die den angegebenen Namen übereinstimmen. (Von TypeInfo geerbt.)
Öffentliche MethodeGetDeclaredNestedTypeGibt ein Objekt zurück, das den angegebenen öffentlichen geschachtelten Typ darstellt, der durch den aktuellen Typ deklariert wird. (Von TypeInfo geerbt.)
Öffentliche MethodeGetDeclaredPropertyGibt ein Objekt zurück, das die angegebene öffentliche Eigenschaft darstellt, die durch den aktuellen Typ deklariert wird. (Von TypeInfo geerbt.)
Öffentliche MethodeGetDefaultMembersSucht nach den für den aktuellen Type definierten Membern, deren DefaultMemberAttribute festgelegt ist. (Von Type geerbt.)
Öffentliche MethodeGetElementTypeBeim Aufrufen dieser Methode wird immer eine NotSupportedException ausgelöst. (Überschreibt Type.GetElementType().)
Öffentliche MethodeGetEnumNameGibt den Namen der Konstanten für den aktuellen Enumerationstyp zurück, die den angegebenen Wert aufweist. (Von Type geerbt.)
Öffentliche MethodeGetEnumNamesGibt die Namen der Member des aktuellen Enumerationstyps zurück. (Von Type geerbt.)
Öffentliche MethodeGetEnumUnderlyingTypeGibt den zugrunde liegenden Typ des aktuellen Enumerationstyps zurück. (Von Type geerbt.)
Öffentliche MethodeGetEnumValuesGibt ein Array mit den Werten der Konstanten im aktuellen Enumerationstyp zurück. (Von Type geerbt.)
Öffentliche MethodeGetEvent(String)Gibt das EventInfo-Objekt zurück, das das angegebene öffentliche Ereignis darstellt. (Von Type geerbt.)
Öffentliche MethodeGetEvent(String, BindingFlags)Gibt das Ereignis mit dem angegebenen Namen zurück. (Überschreibt Type.GetEvent(String, BindingFlags).)
Öffentliche MethodeGetEvents()Gibt die öffentlichen Ereignisse zurück, die von diesem Typ deklariert oder geerbt werden. (Überschreibt Type.GetEvents().)
Öffentliche MethodeGetEvents(BindingFlags)Gibt die öffentlichen und nicht öffentlichen Ereignisse zurück, die von diesem Typ deklariert werden. (Überschreibt Type.GetEvents(BindingFlags).)
Öffentliche MethodeGetField(String)Sucht das öffentliche Feld mit dem angegebenen Namen. (Von Type geerbt.)
Öffentliche MethodeGetField(String, BindingFlags)Gibt das durch den entsprechenden Namen angegebene Feld zurück. (Überschreibt Type.GetField(String, BindingFlags).)
Öffentliche MethodeStatischer MemberGetField(Type, FieldInfo)Gibt das Feld des angegebenen konstruierten generischen Typs zurück, das dem angegebenen Feld der generischen Typdefinition entspricht.
Öffentliche MethodeGetFields()Gibt sämtliche öffentlichen Felder des aktuellen Type zurück. (Von Type geerbt.)
Öffentliche MethodeGetFields(BindingFlags)Gibt die öffentlichen und nicht öffentlichen Felder zurück, die von diesem Typ deklariert werden. (Überschreibt Type.GetFields(BindingFlags).)
Öffentliche MethodeGetGenericArgumentsGibt ein Array von Type-Objekten zurück, die die Typargumente eines generischen Typs oder die Typargumente einer generischen Typdefinition darstellen. (Überschreibt Type.GetGenericArguments().)
Öffentliche MethodeGetGenericParameterConstraintsGibt ein Array von Type-Objekten zurück, die die Einschränkungen für den aktuellen generischen Typparameter darstellen. (Von Type geerbt.)
Öffentliche MethodeGetGenericTypeDefinitionGibt ein Type-Objekt zurück, das eine generische Typdefinition darstellt, aus der der aktuelle Typ abgerufen werden kann. (Überschreibt Type.GetGenericTypeDefinition().)
Öffentliche MethodeGetHashCodeGibt den Hashcode für diese Instanz zurück. (Von Type geerbt.)
Öffentliche MethodeGetInterface(String)Sucht die Schnittstelle mit dem angegebenen Namen. (Von Type geerbt.)
Öffentliche MethodeGetInterface(String, Boolean)Gibt die von dieser Klasse direkt oder indirekt implementierte Schnittstelle mit dem voll gekennzeichneten Namen zurück, der mit dem angegebenen Schnittstellennamen übereinstimmt. (Überschreibt Type.GetInterface(String, Boolean).)
Öffentliche MethodeGetInterfaceMapGibt eine Schnittstellenzuordnung für die angeforderte Schnittstelle zurück. (Überschreibt Type.GetInterfaceMap(Type).)
Öffentliche MethodeGetInterfacesGibt ein Array aller für diesen Typ und seine Basistypen implementierten Schnittstellen zurück. (Überschreibt Type.GetInterfaces().)
Öffentliche MethodeGetMember(String)Sucht die öffentlichen Member mit dem angegebenen Namen. (Von Type geerbt.)
Öffentliche MethodeGetMember(String, BindingFlags)Sucht die angegebenen Member unter Verwendung der angegebenen Bindungseinschränkungen. (Von Type geerbt.)
Öffentliche MethodeGetMember(String, MemberTypes, BindingFlags)Gibt, wie angegeben, alle öffentlichen und nicht öffentlichen Member zurück, die von diesem Typ geerbt oder deklariert werden. (Überschreibt Type.GetMember(String, MemberTypes, BindingFlags).)
Öffentliche MethodeGetMembers()Gibt sämtliche öffentlichen Member des aktuellen Type zurück. (Von Type geerbt.)
Öffentliche MethodeGetMembers(BindingFlags)Gibt die Member für die öffentlichen und nicht öffentlichen Member zurück, die von diesem Typ deklariert oder geerbt wurden. (Überschreibt Type.GetMembers(BindingFlags).)
Öffentliche MethodeGetMethod(String)Sucht die öffentliche Methode mit dem angegebenen Namen. (Von Type geerbt.)
Öffentliche MethodeGetMethod(String, BindingFlags)Sucht die angegebene Methode unter Verwendung der angegebenen Bindungseinschränkungen. (Von Type geerbt.)
Öffentliche MethodeGetMethod(String, Type[])Sucht die angegebene öffentliche Methode, deren Parameter den angegebenen Argumenttypen entsprechen. (Von Type geerbt.)
Öffentliche MethodeStatischer MemberGetMethod(Type, MethodInfo)Gibt die Methode des angegebenen konstruierten generischen Typs zurück, die der angegebenen Methode der generischen Typdefinition entspricht.
Öffentliche MethodeGetMethod(String, Type[], ParameterModifier[])Sucht die angegebene öffentliche Methode, deren Parameter den angegebenen Argumenttypen und -modifizierern entsprechen. (Von Type geerbt.)
Öffentliche MethodeGetMethod(String, BindingFlags, Binder, Type[], ParameterModifier[])Sucht unter Verwendung der angegebenen Bindungseinschränkungen nach der angegebenen Methode, deren Parameter den angegebenen Argumenttypen und -modifizierern entsprechen. (Von Type geerbt.)
Öffentliche MethodeGetMethod(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])Sucht nach der angegebenen Methode, deren Parameter den angegebenen Argumenttypen und -modifizierern entsprechen, und verwendet dabei die angegebenen Bindungseinschränkungen und die angegebene Aufrufkonvention. (Von Type geerbt.)
Öffentliche MethodeGetMethods()Gibt sämtliche öffentlichen Methoden des aktuellen Type zurück. (Von Type geerbt.)
Öffentliche MethodeGetMethods(BindingFlags)Gibt, wie angegeben, alle öffentlichen und nicht öffentlichen Methoden zurück, die von diesem Typ geerbt oder deklariert werden. (Überschreibt Type.GetMethods(BindingFlags).)
Öffentliche MethodeGetNestedType(String)Sucht den öffentlichen geschachtelten Typ mit dem angegebenen Namen. (Von Type geerbt.)
Öffentliche MethodeGetNestedType(String, BindingFlags)Gibt die öffentlichen und nicht öffentlichen geschachtelten Typen zurück, die von diesem Typ deklariert werden. (Überschreibt Type.GetNestedType(String, BindingFlags).)
Öffentliche MethodeGetNestedTypes()Gibt die im aktuellen Type geschachtelten öffentlichen Typen zurück. (Von Type geerbt.)
Öffentliche MethodeGetNestedTypes(BindingFlags)Gibt die öffentlichen und nicht öffentlichen geschachtelten Typen zurück, die von diesem Typ deklariert oder geerbt werden. (Überschreibt Type.GetNestedTypes(BindingFlags).)
Öffentliche MethodeGetProperties()Gibt sämtliche öffentlichen Eigenschaften des aktuellen Type zurück. (Von Type geerbt.)
Öffentliche MethodeGetProperties(BindingFlags)Gibt, wie angegeben, alle öffentlichen und nicht öffentlichen Eigenschaften zurück, die von diesem Typ geerbt oder deklariert werden. (Überschreibt Type.GetProperties(BindingFlags).)
Öffentliche MethodeGetProperty(String)Sucht die öffentliche Eigenschaft mit dem angegebenen Namen. (Von Type geerbt.)
Öffentliche MethodeGetProperty(String, BindingFlags)Sucht die angegebene Eigenschaft unter Verwendung der angegebenen Bindungseinschränkungen. (Von Type geerbt.)
Öffentliche MethodeGetProperty(String, Type)Sucht die öffentliche Eigenschaft mit dem angegebenen Namen und Rückgabetyp. (Von Type geerbt.)
Öffentliche MethodeGetProperty(String, Type[])Sucht die angegebene öffentliche Eigenschaft, deren Parameter den angegebenen Argumenttypen entsprechen. (Von Type geerbt.)
Öffentliche MethodeGetProperty(String, Type, Type[])Sucht die angegebene öffentliche Eigenschaft, deren Parameter den angegebenen Argumenttypen entsprechen. (Von Type geerbt.)
Öffentliche MethodeGetProperty(String, Type, Type[], ParameterModifier[])Sucht die angegebene öffentliche Eigenschaft, deren Parameter den angegebenen Argumenttypen und -modifizierern entsprechen. (Von Type geerbt.)
Öffentliche MethodeGetProperty(String, BindingFlags, Binder, Type, Type[], ParameterModifier[])Sucht anhand der angegebenen Bindungseinschränkungen nach der angegebenen Eigenschaft, deren Parameter den angegebenen Argumenttypen und -modifizierern entsprechen. (Von Type geerbt.)
Öffentliche MethodeGetType()Ruft den aktuellen Type ab. (Von Type geerbt.)
Öffentliche MethodeInvokeMember(String, BindingFlags, Binder, Object, Object[])Ruft den angegebenen Member auf, der den angegebenen Bindungseinschränkungen und der angegebenen Argumentliste entspricht. (Von Type geerbt.)
Öffentliche MethodeInvokeMember(String, BindingFlags, Binder, Object, Object[], CultureInfo)Ruft den angegebenen Member auf, der den angegebenen Bindungseinschränkungen sowie der angegebenen Argumentliste und Kultur entspricht. (Von Type geerbt.)
Öffentliche MethodeInvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[])Ruft den angegebenen Member auf. Auf die aufzurufende Methode muss zugegriffen werden können, und sie muss die beste Übereinstimmung mit der angegebenen Argumentliste liefern, wobei die Einschränkungen durch die angegebenen Attribute für Binder und Aufruf berücksichtigt werden. (Überschreibt Type.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]).)
Öffentliche MethodeIsAssignableFrom(Type)Ruft einen Wert ab, der angibt, ob ein angegebenes Type auf dieses Objekt zugewiesen werden kann. (Überschreibt Type.IsAssignableFrom(Type).)
Öffentliche MethodeIsAssignableFrom(TypeInfo)Ruft einen Wert ab, der angibt, ob ein angegebenes TypeInfo-Objekt diesem Objekt zugewiesen werden kann. (Überschreibt TypeInfo.IsAssignableFrom(TypeInfo).)
Öffentliche MethodeIsCreatedGibt einen Wert zurück, der angibt, ob der aktuelle dynamische Typ erstellt worden ist.
Öffentliche MethodeIsDefinedBestimmt, ob ein benutzerdefiniertes Attribut auf den aktuellen Typ angewendet wird. (Überschreibt MemberInfo.IsDefined(Type, Boolean).)
Öffentliche MethodeIsEnumDefinedGibt einen Wert zurück, der angibt, ob der angegebene Wert im aktuellen Enumerationstyp vorhanden ist. (Von Type geerbt.)
Öffentliche MethodeIsEquivalentToBestimmt, ob zwei COM-Typen die gleiche Identität haben und äquivalente Typen aufweisen können. (Von Type geerbt.)
Öffentliche MethodeIsInstanceOfTypeBestimmt, ob das angegebene Objekt eine Instanz des aktuellen Type ist. (Von Type geerbt.)
Öffentliche MethodeIsSubclassOfBestimmt, ob dieser Typ von einem angegebenen Typ abgeleitet ist. (Überschreibt Type.IsSubclassOf(Type).)
Öffentliche MethodeMakeArrayType()Gibt ein Type-Objekt zurück, das ein eindimensionales Array vom aktuellen Typ mit einer unteren Grenze von 0 (null) darstellt. (Überschreibt Type.MakeArrayType().)
Öffentliche MethodeMakeArrayType(Int32)Gibt ein Type-Objekt zurück, das ein Array vom aktuellen Typ mit der angegebenen Anzahl von Dimensionen darstellt. (Überschreibt Type.MakeArrayType(Int32).)
Öffentliche MethodeMakeByRefTypeGibt ein Type-Objekt zurück, das beim Übergeben als ref-Parameter (ByRef in Visual Basic) den aktuellen Typ darstellt. (Überschreibt Type.MakeByRefType().)
Öffentliche MethodeMakeGenericTypeErsetzt die Typparameter der aktuellen generischen Typdefinition durch die Elemente eines Arrays von Typen und gibt den resultierenden konstruierten Typ zurück. (Überschreibt Type.MakeGenericType(Type[]).)
Öffentliche MethodeMakePointerTypeGibt ein Type-Objekt zurück, das den Typ eines nicht verwalteten Zeigers auf den aktuellen Typ darstellt. (Überschreibt Type.MakePointerType().)
Öffentliche MethodeSetCustomAttribute(CustomAttributeBuilder)Legt ein benutzerdefiniertes Attribut mit einem Generator für benutzerdefinierte Attribute fest.
Öffentliche MethodeSetCustomAttribute(ConstructorInfo, Byte[])Legt ein benutzerdefiniertes Attribut mithilfe eines angegebenen BLOBs für benutzerdefinierte Attribute fest.
Öffentliche MethodeSetParentLegt den Basistyp des derzeit konstruierten Typs fest.
Öffentliche MethodeToStringGibt den Namen des Typs ohne den Namespace zurück. (Überschreibt Type.ToString().)
Zum Seitenanfang
  NameBeschreibung
Öffentliche ErweiterungsmethodeGetCustomAttribute(Type)Überladen. Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs ab, der für einen angegebenen Member angewendet wird. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeGetCustomAttribute(Type, Boolean)Überladen. Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs ab, der für einen angegebenen Member angewendet wird, und überprüft optional die Vorgänger dieses Members. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeGetCustomAttribute<T>()Überladen. Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs ab, der für einen angegebenen Member angewendet wird. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeGetCustomAttribute<T>(Boolean)Überladen. Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs ab, der für einen angegebenen Member angewendet wird, und überprüft optional die Vorgänger dieses Members. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeGetCustomAttributes()Überladen. Ruft eine Auflistung benutzerdefinierter Attribute ab, die für einen angegebenen Member angewendet werden. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeGetCustomAttributes(Type)Überladen. Ruft eine Auflistung benutzerdefinierter Attribute eines angegebenen Typs ab, die für eine angegebenen Member angewendet werden. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeGetCustomAttributes<T>()Überladen. Ruft eine Auflistung benutzerdefinierter Attribute eines angegebenen Typs ab, die für eine angegebenen Member angewendet werden. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeGetCustomAttributes<T>(Boolean)Überladen. Ruft eine Auflistung benutzerdefinierter Attribute eines angegebenen Typs ab, die für einen angegebenen Member angewendet werden, und überprüft optional die Vorgänger dieses Members. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeGetRuntimeEventRuft ein Objekt, das das angegebene Ereignis darstellt. (Durch RuntimeReflectionExtensions definiert.)
Öffentliche ErweiterungsmethodeGetRuntimeEventsRuft eine Auflistung, die alle Ereignisse, die definiert, anhand eines angegebenen Typs darstellt. (Durch RuntimeReflectionExtensions definiert.)
Öffentliche ErweiterungsmethodeGetRuntimeFieldRuft ein Objekt, das ein angegebene Feld darstellt. (Durch RuntimeReflectionExtensions definiert.)
Öffentliche ErweiterungsmethodeGetRuntimeFieldsRuft eine Auflistung, die alle Felder definiert anhand eines angegebenen Typs darstellt. (Durch RuntimeReflectionExtensions definiert.)
Öffentliche ErweiterungsmethodeGetRuntimeInterfaceMapGibt eine Schnittstellenzuordnung für den angegebenen Typ und die angegebene Schnittstelle zurück. (Durch RuntimeReflectionExtensions definiert.)
Öffentliche ErweiterungsmethodeGetRuntimeMethodRuft ein Objekt, das eine angegebene Methode darstellt. (Durch RuntimeReflectionExtensions definiert.)
Öffentliche ErweiterungsmethodeGetRuntimeMethodsRuft eine Auflistung, die alle für einen angegebenen Typ definierte Methoden darstellt. (Durch RuntimeReflectionExtensions definiert.)
Öffentliche ErweiterungsmethodeGetRuntimePropertiesRuft eine Auflistung, die alle Eigenschaften definiert, die für einen angegebenen Typ darstellt. (Durch RuntimeReflectionExtensions definiert.)
Öffentliche ErweiterungsmethodeGetRuntimePropertyRuft ein Objekt, das eine angegebene Eigenschaft darstellt. (Durch RuntimeReflectionExtensions definiert.)
Öffentliche ErweiterungsmethodeGetTypeInfoGibt die TypeInfo Darstellung des angegebenen Typs zurück. (Durch IntrospectionExtensions definiert.)
Öffentliche ErweiterungsmethodeIsDefinedGibt an, ob irgend welche benutzerdefinierten Attribute eines bestimmten Typs auf eines angegebenen Members angewendet werden. (Durch CustomAttributeExtensions definiert.)
Zum Seitenanfang
  NameBeschreibung
Öffentliches FeldStatischer MemberUnspecifiedTypeSizeStellt dar, dass die Gesamtgröße für den Typ nicht angegeben ist.
Zum Seitenanfang
  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate Methode_MemberInfo.GetIDsOfNamesOrdnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (Von MemberInfo geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_MemberInfo.GetTypeRuft ein Type-Objekt ab, das die MemberInfo-Klasse darstellt. (Von MemberInfo geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_MemberInfo.GetTypeInfoRuft die Typinformationen für ein Objekt ab, die dann zum Abrufen der Typinformationen für eine Schnittstelle verwendet werden können. (Von MemberInfo geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_MemberInfo.GetTypeInfoCountRuft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). (Von MemberInfo geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_MemberInfo.InvokeStellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit. (Von MemberInfo geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Type.GetIDsOfNamesOrdnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (Von Type geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Type.GetTypeInfoRuft die Typinformationen für ein Objekt ab, die dann zum Abrufen der Typinformationen für eine Schnittstelle verwendet werden können. (Von Type geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Type.GetTypeInfoCountRuft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). (Von Type geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Type.InvokeStellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit. (Von Type geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_TypeBuilder.GetIDsOfNamesOrdnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.
Explizite SchnittstellenimplementierungPrivate Methode_TypeBuilder.GetTypeInfoRuft die Typinformationen für ein Objekt ab, die dann zum Abrufen der Typinformationen für eine Schnittstelle verwendet werden können.
Explizite SchnittstellenimplementierungPrivate Methode_TypeBuilder.GetTypeInfoCountRuft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).
Explizite SchnittstellenimplementierungPrivate Methode_TypeBuilder.InvokeStellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.
Explizite SchnittstellenimplementierungPrivate MethodeIReflectableType.GetTypeInfoGibt eine Darstellung des aktuellen Typs als TypeInfo-Objekt zurück. (Von TypeInfo geerbt.)
Zum Seitenanfang

TypeBuilder ist die Stammklasse, die verwendet wird, um das Erstellen dynamischer Klassen zur Laufzeit zu steuern. TypeBuilder stellt einen Satz von Routinen zum Definieren von Klassen, Hinzufügen von Methoden und Feldern und zum Erstellen der Klasse in der Laufzeit bereit. Ein neuer TypeBuilder kann aus einem dynamischen Modul erstellt werden.

Verwenden Sie zum Erstellen eines Arraytyps, Zeigertyps oder ByRef-Typs für einen unvollständigen Typ, der von einem TypeBuilder-Objekt dargestellt wird, die Methode MakeArrayType, MakePointerType bzw. MakeByRefType.

HinweisHinweis

Das auf diesen Typ oder Member angewendete HostProtectionAttribute-Attribut besitzt den folgenden Resources-Eigenschaftswert: MayLeakOnAbort. Das HostProtectionAttribute hat keine Auswirkungen auf Desktopanwendungen (die normalerweise durch Doppelklicken auf ein Symbol, Eingeben eines Befehls oder einer URL in einem Browser gestartet werden). Weitere Informationen finden Sie unter der HostProtectionAttribute-Klasse oder unter SQL Server-Programmierung und Hostschutzattribute.

Dieser Abschnitt enthält zwei Codebeispiele. Im ersten Beispiel wird veranschaulicht, wie ein dynamischer Typ mit einem Feld, einem Konstruktor, einer Eigenschaft und einer Methode erstellt wird. Im zweiten Beispiel wird dynamisch eine Methode aus der Benutzereingabe erstellt.

Beispiel 1

Im folgenden Codebeispiel wird veranschaulicht, wie eine dynamische Assembly mit einem Modul definiert wird. Das Modul in der Beispielassembly enthält einen Typ (MyDynamicType), der über ein privates Feld verfügt, eine Eigenschaft, die das private Feld abruft und festlegt, Konstruktoren, die das private Feld initialisieren, sowie eine Methode, die eine vom Benutzer angegebene Zahl mit dem Wert des privaten Felds multipliziert und das Ergebnis zurückgibt.

Das AssemblyBuilderAccess.RunAndSave-Feld wird beim Erstellen der Assembly angegeben. Der Assemblycode wird sofort verwendet. Zudem wird die Assembly auf dem Datenträger gespeichert, sodass sie mit Ildasm.exe (MSIL Disassembler-Tool) überprüft oder in einem anderen Programm verwendet werden kann.


using System;
using System.Reflection;
using System.Reflection.Emit;

class DemoAssemblyBuilder
{
    public static void Main()
    {
        // An assembly consists of one or more modules, each of which
        // contains zero or more types. This code creates a single-module
        // assembly, the most common case. The module contains one type,
        // named "MyDynamicType", that has a private field, a property 
        // that gets and sets the private field, constructors that 
        // initialize the private field, and a method that multiplies 
        // a user-supplied number by the private field value and returns
        // the result. In C# the type might look like this:
        /*
        public class MyDynamicType
        {
            private int m_number;

            public MyDynamicType() : this(42) {}
            public MyDynamicType(int initNumber)
            {
                m_number = initNumber;
            }

            public int Number
            {
                get { return m_number; }
                set { m_number = value; }
            }

            public int MyMethod(int multiplier)
            {
                return m_number * multiplier;
            }
        }
        */

        AssemblyName aName = new AssemblyName("DynamicAssemblyExample");
        AssemblyBuilder ab = 
            AppDomain.CurrentDomain.DefineDynamicAssembly(
                aName, 
                AssemblyBuilderAccess.RunAndSave);

        // For a single-module assembly, the module name is usually
        // the assembly name plus an extension.
        ModuleBuilder mb = 
            ab.DefineDynamicModule(aName.Name, aName.Name + ".dll");

        TypeBuilder tb = mb.DefineType(
            "MyDynamicType", 
             TypeAttributes.Public);

        // Add a private field of type int (Int32).
        FieldBuilder fbNumber = tb.DefineField(
            "m_number", 
            typeof(int), 
            FieldAttributes.Private);

        // Define a constructor that takes an integer argument and 
        // stores it in the private field. 
        Type[] parameterTypes = { typeof(int) };
        ConstructorBuilder ctor1 = tb.DefineConstructor(
            MethodAttributes.Public, 
            CallingConventions.Standard, 
            parameterTypes);

        ILGenerator ctor1IL = ctor1.GetILGenerator();
        // For a constructor, argument zero is a reference to the new
        // instance. Push it on the stack before calling the base
        // class constructor. Specify the default constructor of the 
        // base class (System.Object) by passing an empty array of 
        // types (Type.EmptyTypes) to GetConstructor.
        ctor1IL.Emit(OpCodes.Ldarg_0);
        ctor1IL.Emit(OpCodes.Call, 
            typeof(object).GetConstructor(Type.EmptyTypes));
        // Push the instance on the stack before pushing the argument
        // that is to be assigned to the private field m_number.
        ctor1IL.Emit(OpCodes.Ldarg_0);
        ctor1IL.Emit(OpCodes.Ldarg_1);
        ctor1IL.Emit(OpCodes.Stfld, fbNumber);
        ctor1IL.Emit(OpCodes.Ret);

        // Define a default constructor that supplies a default value
        // for the private field. For parameter types, pass the empty
        // array of types or pass null.
        ConstructorBuilder ctor0 = tb.DefineConstructor(
            MethodAttributes.Public, 
            CallingConventions.Standard, 
            Type.EmptyTypes);

        ILGenerator ctor0IL = ctor0.GetILGenerator();
        // For a constructor, argument zero is a reference to the new
        // instance. Push it on the stack before pushing the default
        // value on the stack, then call constructor ctor1.
        ctor0IL.Emit(OpCodes.Ldarg_0);
        ctor0IL.Emit(OpCodes.Ldc_I4_S, 42);
        ctor0IL.Emit(OpCodes.Call, ctor1);
        ctor0IL.Emit(OpCodes.Ret);

        // Define a property named Number that gets and sets the private 
        // field.
        //
        // The last argument of DefineProperty is null, because the
        // property has no parameters. (If you don't specify null, you must
        // specify an array of Type objects. For a parameterless property,
        // use the built-in array with no elements: Type.EmptyTypes)
        PropertyBuilder pbNumber = tb.DefineProperty(
            "Number", 
            PropertyAttributes.HasDefault, 
            typeof(int), 
            null);

        // The property "set" and property "get" methods require a special
        // set of attributes.
        MethodAttributes getSetAttr = MethodAttributes.Public | 
            MethodAttributes.SpecialName | MethodAttributes.HideBySig;

        // Define the "get" accessor method for Number. The method returns
        // an integer and has no arguments. (Note that null could be 
        // used instead of Types.EmptyTypes)
        MethodBuilder mbNumberGetAccessor = tb.DefineMethod(
            "get_Number", 
            getSetAttr, 
            typeof(int), 
            Type.EmptyTypes);

        ILGenerator numberGetIL = mbNumberGetAccessor.GetILGenerator();
        // For an instance property, argument zero is the instance. Load the 
        // instance, then load the private field and return, leaving the
        // field value on the stack.
        numberGetIL.Emit(OpCodes.Ldarg_0);
        numberGetIL.Emit(OpCodes.Ldfld, fbNumber);
        numberGetIL.Emit(OpCodes.Ret);

        // Define the "set" accessor method for Number, which has no return
        // type and takes one argument of type int (Int32).
        MethodBuilder mbNumberSetAccessor = tb.DefineMethod(
            "set_Number", 
            getSetAttr, 
            null, 
            new Type[] { typeof(int) });

        ILGenerator numberSetIL = mbNumberSetAccessor.GetILGenerator();
        // Load the instance and then the numeric argument, then store the
        // argument in the field.
        numberSetIL.Emit(OpCodes.Ldarg_0);
        numberSetIL.Emit(OpCodes.Ldarg_1);
        numberSetIL.Emit(OpCodes.Stfld, fbNumber);
        numberSetIL.Emit(OpCodes.Ret);

        // Last, map the "get" and "set" accessor methods to the 
        // PropertyBuilder. The property is now complete. 
        pbNumber.SetGetMethod(mbNumberGetAccessor);
        pbNumber.SetSetMethod(mbNumberSetAccessor);

        // Define a method that accepts an integer argument and returns
        // the product of that integer and the private field m_number. This
        // time, the array of parameter types is created on the fly.
        MethodBuilder meth = tb.DefineMethod(
            "MyMethod", 
            MethodAttributes.Public, 
            typeof(int), 
            new Type[] { typeof(int) });

        ILGenerator methIL = meth.GetILGenerator();
        // To retrieve the private instance field, load the instance it
        // belongs to (argument zero). After loading the field, load the 
        // argument one and then multiply. Return from the method with 
        // the return value (the product of the two numbers) on the 
        // execution stack.
        methIL.Emit(OpCodes.Ldarg_0);
        methIL.Emit(OpCodes.Ldfld, fbNumber);
        methIL.Emit(OpCodes.Ldarg_1);
        methIL.Emit(OpCodes.Mul);
        methIL.Emit(OpCodes.Ret);

        // Finish the type.
        Type t = tb.CreateType();

        // The following line saves the single-module assembly. This
        // requires AssemblyBuilderAccess to include Save. You can now
        // type "ildasm MyDynamicAsm.dll" at the command prompt, and 
        // examine the assembly. You can also write a program that has
        // a reference to the assembly, and use the MyDynamicType type.
        // 
        ab.Save(aName.Name + ".dll");

        // Because AssemblyBuilderAccess includes Run, the code can be
        // executed immediately. Start by getting reflection objects for
        // the method and the property.
        MethodInfo mi = t.GetMethod("MyMethod");
        PropertyInfo pi = t.GetProperty("Number");

        // Create an instance of MyDynamicType using the default 
        // constructor. 
        object o1 = Activator.CreateInstance(t);

        // Display the value of the property, then change it to 127 and 
        // display it again. Use null to indicate that the property
        // has no index.
        Console.WriteLine("o1.Number: {0}", pi.GetValue(o1, null));
        pi.SetValue(o1, 127, null);
        Console.WriteLine("o1.Number: {0}", pi.GetValue(o1, null));

        // Call MyMethod, passing 22, and display the return value, 22
        // times 127. Arguments must be passed as an array, even when
        // there is only one.
        object[] arguments = { 22 };
        Console.WriteLine("o1.MyMethod(22): {0}", 
            mi.Invoke(o1, arguments));

        // Create an instance of MyDynamicType using the constructor
        // that specifies m_Number. The constructor is identified by
        // matching the types in the argument array. In this case, 
        // the argument array is created on the fly. Display the 
        // property value.
        object o2 = Activator.CreateInstance(t, 
            new object[] { 5280 });
        Console.WriteLine("o2.Number: {0}", pi.GetValue(o2, null));
    }
}

/* This code produces the following output:

o1.Number: 42
o1.Number: 127
o1.MyMethod(22): 2794
o2.Number: 5280
 */


Beispiel 2

Im folgenden Codebeispiel wird das Erstellen eines dynamischen Typs mit TypeBuilder veranschaulicht.



using System;
using System.Threading;
using System.Reflection;
using System.Reflection.Emit;


class TestILGenerator {

  	public static Type DynamicDotProductGen() {
	  
	   Type ivType = null;
	   Type[] ctorParams = new Type[] { typeof(int),
		               		    typeof(int),
					    typeof(int)};
 	
	   AppDomain myDomain = Thread.GetDomain();
	   AssemblyName myAsmName = new AssemblyName();
	   myAsmName.Name = "IntVectorAsm";
	
	   AssemblyBuilder myAsmBuilder = myDomain.DefineDynamicAssembly(
					  myAsmName, 
					  AssemblyBuilderAccess.RunAndSave);

   	   ModuleBuilder IntVectorModule = myAsmBuilder.DefineDynamicModule("IntVectorModule",
									    "Vector.dll");

	   TypeBuilder ivTypeBld = IntVectorModule.DefineType("IntVector",
						              TypeAttributes.Public);

	   FieldBuilder xField = ivTypeBld.DefineField("x", typeof(int),
                                                       FieldAttributes.Private);
	   FieldBuilder yField = ivTypeBld.DefineField("y", typeof(int), 
                                                       FieldAttributes.Private);
	   FieldBuilder zField = ivTypeBld.DefineField("z", typeof(int),
                                                       FieldAttributes.Private);


           Type objType = Type.GetType("System.Object"); 
           ConstructorInfo objCtor = objType.GetConstructor(new Type[0]);

	   ConstructorBuilder ivCtor = ivTypeBld.DefineConstructor(
					  MethodAttributes.Public,
					  CallingConventions.Standard,
					  ctorParams);
	   ILGenerator ctorIL = ivCtor.GetILGenerator();
           ctorIL.Emit(OpCodes.Ldarg_0);
           ctorIL.Emit(OpCodes.Call, objCtor);
           ctorIL.Emit(OpCodes.Ldarg_0);
           ctorIL.Emit(OpCodes.Ldarg_1);
           ctorIL.Emit(OpCodes.Stfld, xField); 
           ctorIL.Emit(OpCodes.Ldarg_0);
           ctorIL.Emit(OpCodes.Ldarg_2);
           ctorIL.Emit(OpCodes.Stfld, yField); 
           ctorIL.Emit(OpCodes.Ldarg_0);
           ctorIL.Emit(OpCodes.Ldarg_3);
           ctorIL.Emit(OpCodes.Stfld, zField); 
	   ctorIL.Emit(OpCodes.Ret); 


	   // This method will find the dot product of the stored vector
	   // with another.

	   Type[] dpParams = new Type[] { ivTypeBld };

           // Here, you create a MethodBuilder containing the
	   // name, the attributes (public, static, private, and so on),
	   // the return type (int, in this case), and a array of Type
	   // indicating the type of each parameter. Since the sole parameter
	   // is a IntVector, the very class you're creating, you will
	   // pass in the TypeBuilder (which is derived from Type) instead of 
	   // a Type object for IntVector, avoiding an exception. 

	   // -- This method would be declared in C# as:
	   //    public int DotProduct(IntVector aVector)

           MethodBuilder dotProductMthd = ivTypeBld.DefineMethod(
	    		                  "DotProduct", 
				          MethodAttributes.Public,
                                          typeof(int), 
                                          dpParams);

	   // A ILGenerator can now be spawned, attached to the MethodBuilder.

	   ILGenerator mthdIL = dotProductMthd.GetILGenerator();
	   
 	   // Here's the body of our function, in MSIL form. We're going to find the
	   // "dot product" of the current vector instance with the passed vector 
	   // instance. For reference purposes, the equation is:
	   // (x1 * x2) + (y1 * y2) + (z1 * z2) = the dot product

	   // First, you'll load the reference to the current instance "this"
	   // stored in argument 0 (ldarg.0) onto the stack. Ldfld, the subsequent
	   // instruction, will pop the reference off the stack and look up the
	   // field "x", specified by the FieldInfo token "xField".

	   mthdIL.Emit(OpCodes.Ldarg_0);
	   mthdIL.Emit(OpCodes.Ldfld, xField);

	   // That completed, the value stored at field "x" is now atop the stack.
	   // Now, you'll do the same for the object reference we passed as a
	   // parameter, stored in argument 1 (ldarg.1). After Ldfld executed,
	   // you'll have the value stored in field "x" for the passed instance
	   // atop the stack.

	   mthdIL.Emit(OpCodes.Ldarg_1);
	   mthdIL.Emit(OpCodes.Ldfld, xField);

           // There will now be two values atop the stack - the "x" value for the
	   // current vector instance, and the "x" value for the passed instance.
	   // You'll now multiply them, and push the result onto the evaluation stack.

	   mthdIL.Emit(OpCodes.Mul_Ovf_Un);

	   // Now, repeat this for the "y" fields of both vectors.

	   mthdIL.Emit(OpCodes.Ldarg_0);
	   mthdIL.Emit(OpCodes.Ldfld, yField);
	   mthdIL.Emit(OpCodes.Ldarg_1);
	   mthdIL.Emit(OpCodes.Ldfld, yField);
	   mthdIL.Emit(OpCodes.Mul_Ovf_Un);

	   // At this time, the results of both multiplications should be atop
	   // the stack. You'll now add them and push the result onto the stack.

	   mthdIL.Emit(OpCodes.Add_Ovf_Un);

	   // Multiply both "z" field and push the result onto the stack.
	   mthdIL.Emit(OpCodes.Ldarg_0);
	   mthdIL.Emit(OpCodes.Ldfld, zField);
	   mthdIL.Emit(OpCodes.Ldarg_1);
	   mthdIL.Emit(OpCodes.Ldfld, zField);
	   mthdIL.Emit(OpCodes.Mul_Ovf_Un);

	   // Finally, add the result of multiplying the "z" fields with the
	   // result of the earlier addition, and push the result - the dot product -
	   // onto the stack.
	   mthdIL.Emit(OpCodes.Add_Ovf_Un);

	   // The "ret" opcode will pop the last value from the stack and return it
	   // to the calling method. You're all done!

	   mthdIL.Emit(OpCodes.Ret);


 	   ivType = ivTypeBld.CreateType();

	   return ivType;

 	}

	public static void Main() {
	
	   Type IVType = null;
           object aVector1 = null;
           object aVector2 = null;
	   Type[] aVtypes = new Type[] {typeof(int), typeof(int), typeof(int)};
           object[] aVargs1 = new object[] {10, 10, 10};
           object[] aVargs2 = new object[] {20, 20, 20};
	
	   // Call the  method to build our dynamic class.

	   IVType = DynamicDotProductGen();

           Console.WriteLine("---");

	   ConstructorInfo myDTctor = IVType.GetConstructor(aVtypes);
	   aVector1 = myDTctor.Invoke(aVargs1);
	   aVector2 = myDTctor.Invoke(aVargs2);

	   object[] passMe = new object[1];
           passMe[0] = (object)aVector2; 

	   Console.WriteLine("(10, 10, 10) . (20, 20, 20) = {0}",
			     IVType.InvokeMember("DotProduct",
						  BindingFlags.InvokeMethod,
						  null,
						  aVector1,
						  passMe));

	    

	   // +++ OUTPUT +++
	   // ---
	   // (10, 10, 10) . (20, 20, 20) = 600 
	    
	}

}



.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
© 2013 Microsoft. Alle Rechte vorbehalten.