示例#1
0
 /// <summary>
 /// 编译并返回委托
 /// </summary>
 /// <returns></returns>
 public Delegate Complie(object binder = null)
 {
     return(Complier.GetDelegateByScript(ClassTemplate
                                         .Using(MethodTemplate.UsingRecoder.Types)
                                         .OopBody(MethodTemplate.Builder()._script)
                                         .Builder().Script,
                                         ClassTemplate.OopNameScript,
                                         MethodTemplate.MethodNameScript,
                                         MethodTemplate.DelegateType,
                                         binder));
 }
示例#2
0
        /// <summary>
        /// 编译并返回委托
        /// </summary>
        /// <returns></returns>
        public Delegate Complie()
        {
            //获取程序集
            Assembly assembly = GetAssemblyByScript(
                ClassTemplate
                .Using(MethodTemplate.UsingRecoder.Types)
                .ClassBody(MethodTemplate.Builder()._script)
                .Builder().Script
                );


            //判空
            if (assembly == null)
            {
                return(null);
            }


            //获取方法委托
            return(AssemblyOperator
                   .Loader(assembly)[ClassTemplate.ClassNameScript]
                   .GetMethod(MethodTemplate.MethodNameScript)
                   .CreateDelegate(MethodTemplate.DelegateType));
        }