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) { } //不作实现,命令行配置参数应该是只读的
}
}