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 |
---|---|
mdBuilder ist NULL (Nothing in Visual Basic). |
|
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