c# 操作 Resource.resx 资源文件 谢谢大家关注!
static void Write()
{
IResourceWriter rw = new ResourceWriter("Resource1.resx");
foreach (var VARIABLE in _countryTranslation)
{
rw.AddResource(VARIABLE.Key.ToString(CultureInfo.InvariantCulture), VARIABLE.Value);
}
rw.Close();
}
_countryTranslation是一个字典,我把它遍历然后添加到资源文件Resource1.resx中。
然后调用自己写的方法可以看到数据显示出来
static void ReadUsingResourceReader()
{
Console.WriteLine("== 使用IResourceReader");
using (IResourceReader rr = new ResourceReader("Resource1.resx"))
{
var iter = rr.GetEnumerator();
while (iter.MoveNext())
Console.WriteLine("键: {0} 值: {1}", iter.Key, iter.Value);
}
}
但是双击Resource1.resx文件却什么也看不到,看不到我之前加的数据。这是为什么,他们存哪了啊?
--------------------编程问答-------------------- 你确认 Write执行正确,并且Resource1.resx就是你的项目资源文件吗 --------------------编程问答-------------------- 下面代码运行正常
--------------------编程问答-------------------- 我用程序读也是能读到的,但是在设计管理器那样打开,Resource1.resx这里头啥也没有,我截图了 --------------------编程问答--------------------
System.Resources.IResourceWriter rw = new System.Resources.ResourceWriter("aa.resx");
rw.AddResource("aa", "abc");
rw.Close();
System.Resources.IResourceReader read = new System.Resources.ResourceReader("aa.resx");
System.Collections.IDictionaryEnumerator en = read.GetEnumerator();
while (en.MoveNext())
{
//do something
}
以我截图的方式来打开资源文件能看到添加的数据么 --------------------编程问答-------------------- 搞定!应该用ResXResourceWriter ,这个类还要添加System.Windows.Forms引用才能识别
using (ResXResourceWriter rw = new ResXResourceWriter("Resource.resx"))
{
foreach (var VARIABLE in _countryTranslation)
{
rw.AddResource(VARIABLE.Key.ToString(CultureInfo.InvariantCulture), VARIABLE.Value);
}
}
Resource.resx文件设置成no code generation模式,想要代码等写完后再改回来 --------------------编程问答--------------------
private void ButProjectZH_Click(object sender, EventArgs e)
{
//从项目资源文件中读取 ResourcesTest.Properties.ResourcesZH 同样可以读取到项目资源文件中的值
ResourceManager rm = new ResourceManager("ResourcesTest.Properties.ResourcesZH", Assembly.GetExecutingAssembly());
Labuser.Text = rm.GetString("label");
ButSave.Text = rm.GetString("button");
}
其中,.ResourcesZH是资源文件
补充:.NET技术 , C#