//初始化 根据SystemFunctions包含的类去加载 private void Init() { Type type = typeof(SystemFunctions); var methods = type.GetMethods(BindingFlags.Public | BindingFlags.Static); foreach (var method in methods) { StaticFunctionInvoker invoker = new StaticFunctionInvoker(method); functionDict.Add(method.Name, invoker); } }
/// <summary> /// 执行方法 /// </summary> /// <param name="functionName">upper case</param> /// <param name="parameters"></param> /// <returns></returns> public static object InvokeFunction(string functionName, object[] parameters) { if (SingleLoader.functionDict.ContainsKey(functionName)) { StaticFunctionInvoker f = SingleLoader.functionDict[functionName]; return(f.invoke(parameters)); } else { throw new Exception(); } }