Beispiel #1
0
        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);
        }
Beispiel #2
0
        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接口");
            }
        }