Exemplo n.º 1
0
        public static T Delegate(string content, DomainBase domain = default, Action <AssemblyCSharpBuilder> option = default, Func <FakeMethodOperator, FakeMethodOperator> methodAction = null, params NamespaceConverter[] usings)
        {
            var method    = typeof(T).GetMethod("Invoke");
            var @operator = FakeMethodOperator.UseDomain(domain, option);

            @operator
            .UseMethod(method)
            .Using(usings)
            .StaticMethodBody(content);
            methodAction?.Invoke(@operator);
            return(@operator.Compile <T>());
        }
Exemplo n.º 2
0
        public static T UnsafeDelegate(string content,
                                       AssemblyCSharpBuilder builder,
                                       Action <AssemblyCSharpBuilder> option = default,
                                       Func <FakeMethodOperator, FakeMethodOperator> methodAction = null,
                                       Func <OopBuilder, OopBuilder> oopAction = null,
                                       params NamespaceConverter[] usings)
        {
            var method    = typeof(T).GetMethod("Invoke");
            var @operator = FakeMethodOperator.UseDomain(builder.Compiler.Domain, option);

            @operator.AssemblyBuilder = builder;
            @operator
            .UseMethod(method)
            .Unsafe()
            .Using(usings)
            .StaticMethodBody(content);
            methodAction?.Invoke(@operator);
            oopAction?.Invoke(@operator.OopHandler);
            return(@operator.Compile <T>());
        }