using System; using System.Collections.Generic; namespace TinaX.Systems.Configuration { /// /// 命令行 - 配置提供者 /// internal class CommandLineConfigurationProvider : ConfigurationProvider { private ICommandLineArgs m_Args; public CommandLineConfigurationProvider(ICommandLineArgs args) { this.m_Args = args; } public override void Load() { var data = new Dictionary(this.m_Args.GetAllKeyValueArgs(), StringComparer.OrdinalIgnoreCase); var single_data = this.m_Args.GetAllSingleArgs(); foreach(var item in single_data) { if (!data.ContainsKey(item)) { data.Add(item, "true"); } } this.Data = data; } ///// ///// 获取String格式 ///// ///// ///// ///// //public bool TryGet(string key, out string value) // => m_Args.TryGetValue(key, out value); //void IConfigurationProvider.Set(string key, string value) { } //不作实现,命令行配置参数应该是只读的 } }