示例#1
0
        private Expression(string expressionString)
        {
            TkDebug.AssertArgumentNullOrEmpty(expressionString, "expressionString", null);

            fParser = ExpressionParser.ParseExpression(expressionString);
            TkDebug.ThrowIfNoGlobalVariable();
            PlugInFactoryManager factories    = BaseGlobalVariable.Current.FactoryManager;
            BasePlugInFactory    paramFactory = factories.GetCodeFactory(
                ParamExpressionPlugInFactory.REG_NAME);
            BasePlugInFactory exprFactory = factories.GetCodeFactory(
                ExpressionPlugInFactory.REG_NAME);

            fExpressions = new List <BaseExpressionItem>();

            foreach (string item in fParser.ParamArray)
            {
                string             firstChar = item[0].ToString();
                BaseExpressionItem expressionItem;
                if (paramFactory.Contains(firstChar))
                {
                    IParamExpression expression = paramFactory.CreateInstance <IParamExpression>(firstChar);
                    string           parameter  = item.Substring(1);
                    expressionItem = new ParamExpressionItem(expression, parameter);
                }
                else
                {
                    IExpression expression = exprFactory.CreateInstance <IExpression>(item);
                    expressionItem = new ExpressionItem(expression, item);
                }
                fExpressions.Add(expressionItem);
            }
        }
示例#2
0
 private static string GetCtrlHtml(Tk5FieldInfoEx field, IFieldValueProvider provider,
                                   String ctrl, BasePlugInFactory factroy, bool needId)
 {
     if (factroy.Contains(ctrl))
     {
         IControlHtml html = factroy.CreateInstance <IControlHtml>(ctrl);
         return(html.GetHtml(field, provider, needId));
     }
     else
     {
         return(string.Format(ObjectUtil.SysCulture, "<!--系统当前没有注册{0}的控件,请完善-->", ctrl));
     }
 }