/// <summary> /// Creates a function to be evaluated. /// </summary> /// <param name="_input"></param> /// <returns></returns> public static FunctionBaseCore CreateFunction(string _input) { Microsoft.VisualBasic.VBCodeProvider codecompiler = new Microsoft.VisualBasic.VBCodeProvider(); CodeCompileUnit ccu = new System.CodeDom.CodeCompileUnit(); CodeNamespace dom_namespace = pGetNameSpace(); CodeTypeDeclaration dom_class = pGetClass(); CodeMemberMethod dom_func = pGetFunc(_input); dom_class.Members.Add(dom_func); dom_namespace.Types.Add(dom_class); ccu.Namespaces.Add(dom_namespace); CompilerParameters paras = pGetPara(); CompilerResults output = codecompiler.CompileAssemblyFromDom(paras, ccu); foreach (CompilerError CE in output.Errors) { } //pGetCompileCode(codecompiler, ccu); Assembly codebase = output.CompiledAssembly; object classbase = codebase.CreateInstance("DOMSpace.DOMClass"); Type func_class = codebase.GetModules()[0].GetType("DOMSpace.DOMClass"); Type[] temp = codebase.GetModules()[0].GetTypes(); MethodInfo invoker = func_class.GetMethod("DOMfunc"); pGetCompileCode(codecompiler, ccu); return new FunctionBaseCore(classbase, invoker); }