TypeBuilder.AddInterfaceImplementation(Type) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee voegt u een interface toe die door dit type wordt geïmplementeerd.
public:
void AddInterfaceImplementation(Type ^ interfaceType);
public void AddInterfaceImplementation(Type interfaceType);
[System.Runtime.InteropServices.ComVisible(true)]
public void AddInterfaceImplementation(Type interfaceType);
member this.AddInterfaceImplementation : Type -> unit
[<System.Runtime.InteropServices.ComVisible(true)>]
member this.AddInterfaceImplementation : Type -> unit
Public Sub AddInterfaceImplementation (interfaceType As Type)
Parameters
- interfaceType
- Type
De interface die dit type implementeert.
- Kenmerken
Uitzonderingen
interfaceType is null.
Het type is eerder gemaakt met behulp van CreateType().
Voorbeelden
In het volgende codevoorbeeld ziet u de implementatie van een interface op een dynamisch gemaakt type met behulp van AddInterfaceImplementation.
// Mark the class as implementing 'IHello' interface.
helloWorldTypeBuilder.AddInterfaceImplementation(typeof(IHello));
MethodBuilder myMethodBuilder =
helloWorldTypeBuilder.DefineMethod("SayHello",
MethodAttributes.Public|MethodAttributes.Virtual,
null,
null);
// Generate IL for 'SayHello' method.
ILGenerator myMethodIL = myMethodBuilder.GetILGenerator();
myMethodIL.EmitWriteLine(myGreetingField);
myMethodIL.Emit(OpCodes.Ret);
MethodInfo sayHelloMethod = typeof(IHello).GetMethod("SayHello");
helloWorldTypeBuilder.DefineMethodOverride(myMethodBuilder,sayHelloMethod);
' Mark the class as implementing 'IHello' interface.
helloWorldTypeBuilder.AddInterfaceImplementation(GetType(IHello))
Dim myMethodBuilder As MethodBuilder = helloWorldTypeBuilder.DefineMethod("SayHello", _
MethodAttributes.Public Or MethodAttributes.Virtual, Nothing, Nothing)
' Generate IL for 'SayHello' method.
Dim myMethodIL As ILGenerator = myMethodBuilder.GetILGenerator()
myMethodIL.EmitWriteLine(myGreetingField)
myMethodIL.Emit(OpCodes.Ret)
Dim sayHelloMethod As MethodInfo = GetType(IHello).GetMethod("SayHello")
helloWorldTypeBuilder.DefineMethodOverride(myMethodBuilder, sayHelloMethod)