Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

TypeBuilder.DefineDefaultConstructor-Methode

Aktualisiert: November 2007

Definiert den Standardkonstruktor. Der hier definierte Konstruktor ruft lediglich den Standardkonstruktor des übergeordneten Elements auf.

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

[ComVisibleAttribute(true)]
public ConstructorBuilder DefineDefaultConstructor(
	MethodAttributes attributes
)
/** @attribute ComVisibleAttribute(true) */
public ConstructorBuilder DefineDefaultConstructor(
	MethodAttributes attributes
)
public function DefineDefaultConstructor(
	attributes : MethodAttributes
) : ConstructorBuilder

Parameter

attributes
Typ: System.Reflection.MethodAttributes
Ein MethodAttributes-Objekt, das die auf den Konstruktor anzuwendenden Attribute darstellt.

Rückgabewert

Typ: System.Reflection.Emit.ConstructorBuilder
Gibt den Konstruktor zurück.

AusnahmeBedingung
NotSupportedException

Der übergeordnete Typ (Basistyp) verfügt über keinen Standardkonstruktor.

InvalidOperationException

Der Typ wurde bereits mit CreateType erstellt.

– oder –

Für den aktuelle dynamischen Typ ist die IsGenericType-Eigenschaft true, die IsGenericTypeDefinition-Eigenschaft ist jedoch false.

Da der Standardkonstruktor automatisch definiert wird, müssen Sie diese Methode nur in den folgenden Situationen aufrufen:

  • Sie haben einen anderen Konstruktor definiert und benötigen außerdem einen Standardkonstruktor, der einfach den Basisklassenkonstruktor aufruft.

  • Sie möchten die Attribute des Standardkonstruktors auf einen anderen Wert als PrivateScope, Public, HideBySig, SpecialName und RTSpecialName festlegen.

Im folgenden Codebeispiel wird die Verwendung von DefineConstructor zum Festlegen der bestimmten Signatur für einen Konstruktor und von Attributen für einen dynamischen Typ sowie zum Zurückgeben eines entsprechenden ConstructorBuilder zur MSIL-Auffüllung veranschaulicht.

// Define the constructor.
Type[] constructorArgs = { typeof(String) };
ConstructorBuilder myConstructorBuilder = 
   helloWorldTypeBuilder.DefineConstructor(MethodAttributes.Public, 
                      CallingConventions.Standard, constructorArgs);
// Generate IL for the method.The constructor stores its argument in the private field.
ILGenerator myConstructorIL = myConstructorBuilder.GetILGenerator();
myConstructorIL.Emit(OpCodes.Ldarg_0);
myConstructorIL.Emit(OpCodes.Ldarg_1);
myConstructorIL.Emit(OpCodes.Stfld, myGreetingField);
myConstructorIL.Emit(OpCodes.Ret);


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0, 2.0, 1.1, 1.0
Anzeigen: