Beispiel #1
0
    /// <summary>
    /// 注册Function
    /// </summary>
    /// <param name="_object"></param>
    public void RegisterFunction(AbsFunc _abs)
    {
        string key = _abs.Key;

        if (!mFuncList.ContainsKey(key))
        {
            mFuncList.Add(key, _abs);
        }
    }
Beispiel #2
0
    public void ParseFuncStr(ref string _str, ref List <AbsFunc> _funcList)
    {
        string paramStr = _str.ToLower();

        string[] strArr = _str.Split(DefineMgr.Split_Sem.ToCharArray());
        for (int i = 0; i < strArr.Length; ++i)
        {
            AbsFunc func = FuncsMgr.Ins.CreateFunction(strArr[i]);
            if (func != null)
            {
                _funcList.Add(func);
            }
        }
    }
Beispiel #3
0
    public AbsFunc CreateFunction(string _str)
    {
        string str = _str.ToLower();

        string[] strArr = str.Split(DefineMgr.Split_Line.ToCharArray());
        if (strArr.Length > 0)
        {
            List <string> paramArr = new List <string>(strArr);
            string        clsName  = paramArr[0];
            AbsFunc       func     = null;
            mFuncList.TryGetValue(clsName, out func);
            if (func == null)
            {
                LogMgr.Error("--- Not found Func clsName:{0}", clsName);
                return(null);
            }

            paramArr.RemoveAt(0);
            AbsFunc ret = func.Clone();
            ret.Parser(ref paramArr);
            return(ret);
        }
        return(null);
    }