使用
#region Configuration使用
{
ConfigurationBuilder configurationBuilder
= new ConfigurationBuilder();
configurationBuilder
.AddJsonFile("app.json");
Configuration configuration
= configurationBuilder
.Build();
string value = configuration
["json"];
}
#endregion
ConfigurationBuilder类
class ConfigurationBuilder
{
private Configuration configuration
= new Configuration();
public ConfigurationBuilder AddJsonFile(string jsonFilePath
,string reload
)
{
JsonConfigurationReader jsonConfigurationReader
= new JsonConfigurationReader();
jsonConfigurationReader
.ReadJsonFile(jsonFilePath
);
return this;
}
public ConfigurationBuilder AddXmlFile(string xmlFilePath
)
{
return this;
}
public ConfigurationBuilder AddIniFile(string iniFilePath
)
{
return this;
}
public Configuration Build()
{
return configuration
;
}
}
处理JSON文件相关类
interface IJsonConfigurationReader
{
public IDictionary
<string, string> ReadJsonFile(string jsonFilePath
);
}
class JsonConfigurationReader : IJsonConfigurationReader
{
public IDictionary
<string, string> ReadJsonFile(string jsonFilePath
)
{
Console
.WriteLine($
"{jsonFilePath}:获取json本地文件输入流");
IDictionary
<string, string> Data
= new Dictionary<string, string>();
Data
.Add("json","json文件内容");
return Data
;
}
}
class JsonConfigurationReaderProxy : IJsonConfigurationReader
{
private IJsonConfigurationReader jsonConfigurationReader
;
public JsonConfigurationReaderProxy(IJsonConfigurationReader jsonConfigurationReader
)
{
this.jsonConfigurationReader
= jsonConfigurationReader
;
}
public IDictionary
<string, string> ReadJsonFile(string jsonFilePath
)
{
IDictionary
<string, string> Data
= jsonConfigurationReader
.ReadJsonFile(jsonFilePath
);
SortData(Data
);
return Data
;
}
private void SortData(IDictionary
<string, string> Data
)
{
Console
.WriteLine("json配置文件数据排序");
}
}
class JsonConfigurationReaderProxy : IJsonConfigurationReader
{
private IJsonConfigurationReader jsonConfigurationReader
;
public JsonConfigurationReaderProxy(IJsonConfigurationReader jsonConfigurationReader
)
{
this.jsonConfigurationReader
= jsonConfigurationReader
;
}
public IDictionary
<string, string> ReadJsonFile(string jsonFilePath
)
{
RemoteConnection(jsonFilePath
);
IDictionary
<string, string> Data
= jsonConfigurationReader
.ReadJsonFile(jsonFilePath
);
return Data
;
}
private void RemoteConnection(string jsonFilePath
)
{
Console
.WriteLine($
"{jsonFilePath}:进行安全验证");
}
}
Configuration类
class Configuration
{
public IDictionary
<string, string> Data
{ set; get; } = new Dictionary<string, string>();
public void Set(string key
,string value)
{
Data
.Add(key
, value);
}
public string this[string key
]
{
get
{
return Data
[key
];
}
}
}
转载请注明原文地址: https://lol.8miu.com/read-19404.html