/// <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; } }
/// <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); }
/// <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); }