Exemplo n.º 1
0
        /// <summary>
        /// 变量绑定
        /// </summary>
        /// <param name="arg">参数绑定定义对象</param>
        /// <param name="act">待绑定Action</param>
        /// <param name="actType">待绑定Action的具体类型</param>
        /// <returns>是否绑定成功</returns>
        private bool BindVarValueToAction(ActionArg arg, IAction act, Type actType)
        {
            //变量提供者对象为空
            if (_varProvider == null)
            {
                LogError(string.Format(errVarProviderLost2, act.Name, arg.Name));
                return(false);
            }
            //获取变量
            object value = _varProvider.GetVarValue(arg.VarType, arg.RefName);

            //临时的
            if (arg.RefName.ToUpper() == "INPUTFILENAME")
            {
                LogInfo("处理:" + Path.GetFileName(value != null ? value.ToString() : string.Empty));
            }
            //将变量帮定到Action的参数Arg.Name
            return(BindValueToAction(arg.Name, value, act, actType));
        }