static Evaluator GetEvaluator(EvaluatorItem item)
        {
            Evaluator result = null;
            string    strKey = item.Expression + item.Expression + item.ReturnType;

            if (  !_evaluatorList.ContainsKey(strKey))
            {
                result = _evaluatorList[strKey] = new Evaluator(item);
            }

            return(result);
        }
        double EvaluateDouble(EvaluatorItem item)
        {
            Evaluator el = GetEvaluator(item);

            return((double)el.Evaluate(item.Name));
        }
 private Evaluator(EvaluatorItem item)
 {
     EvaluatorItem[] items = { item };
     ConstructEvaluator(items);
 }
        public static bool EvaluateBool(EvaluatorItem item)
        {
            Evaluator el = GetEvaluator(item);

            return((bool)el.Evaluate(item.Name));
        }
        public static string EvaluateString(EvaluatorItem item)
        {
            Evaluator el = GetEvaluator(item);

            return((string)el.Evaluate(item.Name));
        }
        public static int EvaluateInt(EvaluatorItem item)
        {
            Evaluator el = GetEvaluator(item);

            return((int)el.Evaluate(item.Name));
        }
        public static float EvaluateFloat(EvaluatorItem item)
        {
            Evaluator el = GetEvaluator(item);

            return((float)el.Evaluate(item.Name));
        }