C# Class Monobjc.Generators.ClassGenerator

Code generator that produces class proxies.
Inheritance: CodeGenerator
ファイルを表示 Open project: Monobjc/monobjc Class Usage Examples

Public Methods

Method Description
ClassGenerator ( DynamicAssembly assembly, bool is64Bits ) : System

Initializes a new instance of the ClassGenerator class.

DefineClassProxy ( Type type, IEnumerable instanceMethods, IEnumerable classMethods ) : Type

TODO: Doc

Private Methods

Method Description
DefineDelegate ( TypeBuilder typeBuilder, MethodBase methodInfo, ConstructorBuilder &constructorBuilder ) : Type

Defines an inner Delegate type for the method to be invoked from Objective-C runtime.

DefineProxyMethod ( TypeBuilder typeBuilder, MethodTuple methodTuple ) : MethodBuilder

Defines a proxy method that is called from Objective-C runtime. This method retrieves the targeted managed instance and passes the parameters.

EmitProxyMethodBodyForInstanceMethod ( ILGenerator generator, MethodTuple methodTuple, Type returnType, Type nativeReturnType, Type parameterTypes, Type nativeParameterTypes ) : void
EmitProxyMethodBodyForStaticMethod ( ILGenerator generator, MethodTuple methodTuple, Type returnType, Type nativeReturnType, Type parameterTypes, Type nativeParameterTypes ) : void

Method Details

ClassGenerator() public method

Initializes a new instance of the ClassGenerator class.
public ClassGenerator ( DynamicAssembly assembly, bool is64Bits ) : System
assembly DynamicAssembly The assembly.
is64Bits bool
return System

DefineClassProxy() public method

TODO: Doc
public DefineClassProxy ( Type type, IEnumerable instanceMethods, IEnumerable classMethods ) : Type
type System.Type
instanceMethods IEnumerable
classMethods IEnumerable
return System.Type