C# 클래스 IronPython.Modules.CTypes._CFuncPtr.Meta.ArgumentMarshaller

Base class for marshalling arguments from the user provided value to the call stub. This class provides the logic for creating the call stub and calling it.
파일 보기 프로젝트 열기: jschementi/iron

공개 메소드들

메소드 설명
ArgumentMarshaller ( Expression container ) : System.Linq.Expressions
EmitCallStubArgument ( ILGenerator generator, int argIndex, List constantPool, int constantPoolArgument ) : IronPython.Modules.MarshalCleanup

Emits the IL to get the argument for the call stub generated into a dynamic method.

GetKeepAlive ( ) : Expression

Gets an expression which keeps alive the argument for the duration of the call. Returns null if a keep alive is not necessary.

GetRestrictions ( ) : BindingRestrictions

메소드 상세

ArgumentMarshaller() 공개 메소드

public ArgumentMarshaller ( Expression container ) : System.Linq.Expressions
container Expression
리턴 System.Linq.Expressions

EmitCallStubArgument() 공개 추상적인 메소드

Emits the IL to get the argument for the call stub generated into a dynamic method.
public abstract EmitCallStubArgument ( ILGenerator generator, int argIndex, List constantPool, int constantPoolArgument ) : IronPython.Modules.MarshalCleanup
generator System.Reflection.Emit.ILGenerator
argIndex int
constantPool List
constantPoolArgument int
리턴 IronPython.Modules.MarshalCleanup

GetKeepAlive() 공개 메소드

Gets an expression which keeps alive the argument for the duration of the call. Returns null if a keep alive is not necessary.
public GetKeepAlive ( ) : Expression
리턴 Expression

GetRestrictions() 공개 메소드

public GetRestrictions ( ) : BindingRestrictions
리턴 BindingRestrictions