Freigeben über


PropertyBuilder.SetSetMethod-Methode

Legt die Methode zum Festlegen des Eigenschaftenwerts fest.

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

Syntax

'Declaration
Public Sub SetSetMethod ( _
    mdBuilder As MethodBuilder _
)
'Usage
Dim instance As PropertyBuilder
Dim mdBuilder As MethodBuilder

instance.SetSetMethod(mdBuilder)
public void SetSetMethod (
    MethodBuilder mdBuilder
)
public:
void SetSetMethod (
    MethodBuilder^ mdBuilder
)
public void SetSetMethod (
    MethodBuilder mdBuilder
)
public function SetSetMethod (
    mdBuilder : MethodBuilder
)

Parameter

  • mdBuilder
    Ein MethodBuilder-Objekt, das die Methode zum Festlegen des Eigenschaftenwerts darstellt.

Ausnahmen

Ausnahmetyp Bedingung

ArgumentNullException

mdBuilder ist NULL (Nothing in Visual Basic).

InvalidOperationException

CreateType wurde für den einschließenden Typ aufgerufen.

Beispiel

Das folgende Codebeispiel veranschaulicht, wie eine dynamische Methode mithilfe von SetSetMethod an eine mit PropertyBuilder erstellte set-Eigenschaft angefügt wird.

' Define the set_Greeting method.
Dim methodArgs As Type() = {GetType(String)}
Dim setGreetingMethod As MethodBuilder = helloWorldTypeBuilder.DefineMethod _
      ("set_Greeting", MethodAttributes.Public Or MethodAttributes.HideBySig Or _
                              MethodAttributes.SpecialName, Nothing, methodArgs)

' Generate IL code for set_Greeting method.
methodIL = setGreetingMethod.GetILGenerator()
methodIL.Emit(OpCodes.Ldarg_0)
methodIL.Emit(OpCodes.Ldarg_1)
methodIL.Emit(OpCodes.Stfld, greetingFieldBuilder)
methodIL.Emit(OpCodes.Ret)
greetingPropertyBuilder.SetSetMethod(setGreetingMethod)
// Define the set_Greeting method.
Type[] methodArgs = {typeof(string)};
MethodBuilder setGreetingMethod = helloWorldTypeBuilder.DefineMethod("set_Greeting",
   MethodAttributes.Public|MethodAttributes.HideBySig|MethodAttributes.SpecialName,
   typeof(void), methodArgs);
// Generate IL code for set_Greeting method.
methodIL = setGreetingMethod.GetILGenerator();
methodIL.Emit(OpCodes.Ldarg_0);
methodIL.Emit(OpCodes.Ldarg_1);
methodIL.Emit(OpCodes.Stfld,greetingFieldBuilder);
methodIL.Emit(OpCodes.Ret);
greetingPropertyBuilder.SetSetMethod(setGreetingMethod);
// Define the set_Greeting method.
array<Type^>^methodArgs = {String::typeid};
MethodBuilder^ setGreetingMethod = helloWorldTypeBuilder->DefineMethod( "set_Greeting", static_cast<MethodAttributes>(MethodAttributes::Public | MethodAttributes::HideBySig | MethodAttributes::SpecialName), void::typeid, methodArgs );

// Generate IL code for set_Greeting method.
methodIL = setGreetingMethod->GetILGenerator();
methodIL->Emit( OpCodes::Ldarg_0 );
methodIL->Emit( OpCodes::Ldarg_1 );
methodIL->Emit( OpCodes::Stfld, greetingFieldBuilder );
methodIL->Emit( OpCodes::Ret );
greetingPropertyBuilder->SetSetMethod( setGreetingMethod );

Plattformen

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

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

PropertyBuilder-Klasse
PropertyBuilder-Member
System.Reflection.Emit-Namespace