private static void RegistOperator(string symbol, Type operatorClass, int level) { OperatorSchema oper = new OperatorSchema(); oper.Id = symbol; oper.Level = level; oper.AssemblyName = operatorClass.Assembly.FullName; oper.ClassName = operatorClass.FullName; _operatorRegList.Operators.Add(oper); }
private static IOperator CreateOperator(string symbol) { OperatorSchema opReg = _operatorRegList.Operators.GetItem(symbol); Assembly assembly = Assembly.Load(opReg.AssemblyName); object obj = obj = assembly.CreateInstance(opReg.ClassName, true); if (obj is IOperator) { return(obj as IOperator); } else { throw new XException("操作符:" + symbol + "注册的操作符类:" + opReg.ClassName + "不是IOperator接口"); } }