Dictionary<string,string>
有没有办法为C#中的所有键获取智能感知?
或者是否有可能获得带有字符串参数的方法的智能感知。
我想拥有类似的东西ResourceManager.GetString("")
。如果可能的话,我不想创建一个带有常量字符串的静态类来模拟它。
编辑:
我目前正在使用字典将多个资源文件组合到一个字典中,这是因为资源用于多个项目并且需要被覆盖。
var temp = ResourceFile1.ResourceManager
.GetResourceSet(CultureInfo.CurrentUICulture, true, true)
.Cast<object>()
.Select(
x => new
{
ID = 1,
Value = x.GetType().GetProperty("Value").GetValue(x, null).ToString(),
Key = x.GetType().GetProperty("Key").GetValue(x, null).ToString()
});
temp = temp.Concat(
ResourceFile2.ResourceManager
.GetResourceSet(CultureInfo.CurrentUICulture, true, true)
.Cast<object>()
.Select(
x => new
{
ID = 2,
Value = x.GetType().GetProperty("Value").GetValue(x, null).ToString(),
Key = x.GetType().GetProperty("Key").GetValue(x, null).ToString()
}));
temp = temp.Concat(
ResourceFile3.ResourceManager
.GetResourceSet(CultureInfo.CurrentUICulture, true, true)
.Cast<object>()
.Select(
x => new
{
ID = 3,
Value = x.GetType().GetProperty("Value").GetValue(x, null).ToString(),
Key = x.GetType().GetProperty("Key").GetValue(x, null).ToString()
}));
ResourceDictionary = temp.GroupBy(x => x.Key)
.Select(x => x.FirstOrDefault(c => c.ID == x.Max(v => v.ID)))
.ToDictionary(x => x.Key, x => x.Value);