嗯...我有枚举值(例如'VALUE') 以及一些带有txt文件的资源。 我使用以下代码获取此文件('MyResource_test.txt'):
FileStream fs = new FileStream("c:\\test.txt", FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine(gui.Resources.MyResource.MyResource_test);
现在我需要通过我的枚举值
从资源获取文件sw.WriteLine(gui.Resources.MyResource.VALUE);
怎么做?反思或其他什么? 感谢
答案 0 :(得分:1)
使用ResourceManager:
sw.WriteLine(gui.Resources.MyResource.ResourceManager.GetString(YourEnumType.VALUE.ToString()));
答案 1 :(得分:0)
创建一个将枚举映射到资源的字典:
var map = new Dictionary<YourEnumType, object>();
map[YourEnumType.VALUE] = gui.Resources.MyResource.MyResource_test;
然后,当您需要编写它时,请使用地图:
sw.WriteLine(map[YourEnumType.VALUE]);
如果这是标准的.NET资源(.resx文件),还有另一种选择。通过生成的代码访问这些资源,该代码通过字符串访问资源。如果您将枚举值的名称设置为等于资源项的代码,则可以像下面这样访问它们:
var item = YourEnumType.VALUE;
Resource1.ResourceManager.GetString(item.ToString());