C# 클래스 LinFu.Proxy.MethodBodyEmitter

상속: IMethodBodyEmitter, IInitialize
파일 보기 프로젝트 열기: philiplaureano/LinFu 1 사용 예제들

공개 메소드들

메소드 설명
Emit ( MethodInfo originalMethod, Mono.Cecil.MethodDefinition targetMethod ) : void

Generates a method body for the targetMethod.

Initialize ( IServiceContainer source ) : void

Initializes the MethodBodyEmitter class.

MethodBodyEmitter ( ) : System

Initializes the class with the default values.

보호된 메소드들

메소드 설명
EmitGetInterceptorInstruction ( Mono.Cecil.Cil.CilWorker IL, TypeReference proxyType, MethodReference getInterceptorMethod ) : void

Emits the IL instructions to obtain an IInterceptor instance for the proxy type.

ImplementNotFound ( Mono.Cecil.Cil.CilWorker IL ) : void

Causes the CilWorker to make the method throw a NotImplementedException if the method cannot be found.

비공개 메소드들

메소드 설명
SaveRefArguments ( Mono.Cecil.Cil.CilWorker IL, IEnumerable parameters, Mono.Cecil.Cil.VariableDefinition invocationInfo, Mono.Cecil.Cil.VariableDefinition arguments ) : void

Saves the ref arguments of a given method using the arguments from the invocationInfo object.

메소드 상세

Emit() 공개 메소드

Generates a method body for the targetMethod.
public Emit ( MethodInfo originalMethod, Mono.Cecil.MethodDefinition targetMethod ) : void
originalMethod System.Reflection.MethodInfo The method currently being intercepted.
targetMethod Mono.Cecil.MethodDefinition The target method that will contain the new method body.
리턴 void

EmitGetInterceptorInstruction() 보호된 메소드

Emits the IL instructions to obtain an IInterceptor instance for the proxy type.
protected EmitGetInterceptorInstruction ( Mono.Cecil.Cil.CilWorker IL, TypeReference proxyType, MethodReference getInterceptorMethod ) : void
IL Mono.Cecil.Cil.CilWorker The responsible for emitting the method body.
proxyType Mono.Cecil.TypeReference The proxy type.
getInterceptorMethod Mono.Cecil.MethodReference The getter method for the interceptor.
리턴 void

ImplementNotFound() 보호된 메소드

Causes the CilWorker to make the method throw a NotImplementedException if the method cannot be found.
protected ImplementNotFound ( Mono.Cecil.Cil.CilWorker IL ) : void
IL Mono.Cecil.Cil.CilWorker The responsible for emitting the method body.
리턴 void

Initialize() 공개 메소드

Initializes the MethodBodyEmitter class.
public Initialize ( IServiceContainer source ) : void
source IServiceContainer
리턴 void

MethodBodyEmitter() 공개 메소드

Initializes the class with the default values.
public MethodBodyEmitter ( ) : System
리턴 System