C# Class 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.
Afficher le fichier Open project: jschementi/iron

Méthodes publiques

Méthode Description
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

Method Details

ArgumentMarshaller() public méthode

public ArgumentMarshaller ( Expression container ) : System.Linq.Expressions
container Expression
Résultat System.Linq.Expressions

EmitCallStubArgument() public abstract méthode

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
Résultat IronPython.Modules.MarshalCleanup

GetKeepAlive() public méthode

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
Résultat Expression

GetRestrictions() public méthode

public GetRestrictions ( ) : BindingRestrictions
Résultat BindingRestrictions