Ejemplo n.º 1
0
        /// <summary>
        /// 解析key-value行数据
        /// </summary>
        /// <param name="key">key</param>
        /// <param name="value">value</param>
        private static void TranslateKeyValue(string key, string value)
        {
            switch (key)
            {
            case DrivenPropertyConst.ABILITYNAME:
            {
                // 解析驱动对应的驱动
                baseTranslator = CreateDrivenTranslator(value);
            }
            break;

            default:
                baseTranslator.AddKeyValue(key, value);
                break;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 生成相应的驱动解析器
        /// </summary>
        /// <param name="aname">驱动名</param>
        /// <returns>解析器</returns>
        public static BaseDrivenTranslator CreateDrivenTranslator(string aname)
        {
            BaseDrivenTranslator _translator = null;

            switch (aname)
            {
            case DrivenConst.BUILD_DRIVEN:
                _translator = new BuildDrivenTranslator(drivenName);
                break;

            case DrivenConst.ABILITY_DRIVEN:
                _translator = new AbilityDrivenTranslator(drivenName);
                break;

            case DrivenConst.BASE_DRIVEN:
            default:
                _translator = new BaseDrivenTranslator(drivenName);
                break;
            }
            return(_translator);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 解析驱动
        /// </summary>
        /// <param name="content">内容</param>
        /// <returns>驱动</returns>
        public static BaseDriven Translate(string content)
        {
            baseTranslator = null;
            string[] lines  = content.Split('\n');
            int      length = lines.Length;

            for (int i = 0; i < length; i++)
            {
                ParseLine(lines[i]);
            }
            if (baseTranslator == null)
            {
                return(null);
            }
            object obj = baseTranslator.GetObject();

            if (obj != null)
            {
                return(obj as BaseDriven);
            }
            return(null);
        }