您可以使用以下内容从资源键获取值:
string s = Namespace.ResourceLocation.ResourceFile.KeyName;
有没有办法从字符串值中获取密钥名称?
答案 0 :(得分:1)
您可以遍历资源文件并使用值获取密钥名称。
using System.Resources;
using (ResXResourceReader oReader = new ResXResourceReader(ResourceFilePath))
{
IDictionaryEnumerator oResource = oReader.GetEnumerator();
while (oResource.MoveNext())
{
if (oResource.Value.ToString() == "VALUE")
return oResource.Key.ToString();
}
}
答案 1 :(得分:0)
为了完整性,从inquisitive_mind的回答中我最终得到了:
var resDict = StronglyTypedResource
.ResourceManager
.GetResourceSet(CultureInfo.InvariantCulture, true, false)
.Cast<DictionaryEntry>()
.ToDictionary(x => x.Key.ToString(), x => x.Value.ToString());
要将我的强类型资源文件放入字典中 - 我最初错过的位是启用createIfNotExists
来加载资源文件。
然后只需查询字典:
entity.ResourceKeyValue =
resDict.First(x => x.Value.ToLower() == stringValue.Trim().ToLower()).Key;