Exemplo n.º 1
0
        public ICodeLambda Constructor(IEnumerable<ParameterCriteriaMetadataInfo> parameterCriteriaMetadataInfos)
        {
            var constructorBuilder = new TypeBuilderExtension(this.ModuleLambda.ModuleBuilder, this.TypeBuilder)
                                        .CreateConstructor(this.methodAccessor.MethodAttribute, CallingConventions.HasThis, parameterCriteriaMetadataInfos);

            ResetAccessorAttributes();

            return new CodeLambda(this, constructorBuilder.GetILGenerator());
        }
Exemplo n.º 2
0
        public ICodeLambda Method(Type returnType, string name, Type[] argumentsTypes, MethodInfo parentMethodInfo)
        {
            var method = new TypeBuilderExtension(null, this.TypeBuilder)
                            .CreateMethod(this.methodAccessor.MethodAttribute, returnType, name, argumentsTypes, null, methodAccessor.IsOverride);

            return new MethodOperand(this, method.GetILGenerator(), method.GetBaseDefinition());
        }
Exemplo n.º 3
0
        public ICodeLambda Constructor(params Type[] argumentsTypes)
        {
            var constructorBuilder = new TypeBuilderExtension(this.ModuleLambda.ModuleBuilder, this.TypeBuilder)
                                        .CreateConstructor(this.methodAccessor.MethodAttribute, CallingConventions.HasThis, argumentsTypes);

            ResetAccessorAttributes();

            return new CodeLambda(this, constructorBuilder.GetILGenerator());
        }