gpt4 book ai didi

c# - 在 C# 中修改 .resx 文件

转载 作者:IT王子 更新时间:2023-10-29 04:26:24 27 4
gpt4 key购买 nike

我有一个包含名称-值对(两个字符串)的 .resx 文件。现在我想使用 C# 以编程方式修改某些名称-值对中的值。我怎样才能做到这一点?

最佳答案

资源管理有一个完整的命名空间:System.Resources。查看 ResourceManager 类,以及 ResXResourceReader 和 ResXResourceWriter。

http://msdn.microsoft.com/en-us/library/system.resources.aspx


我设法掌握了一种非常古老的调试方法,我曾经在测试一些与资源相关的东西时曾经使用过这种方法。这应该可以解决问题。

public static void UpdateResourceFile(Hashtable data, String path)
{
Hashtable resourceEntries = new Hashtable();

//Get existing resources
ResXResourceReader reader = new ResXResourceReader(path);
if (reader != null)
{
IDictionaryEnumerator id = reader.GetEnumerator();
foreach (DictionaryEntry d in reader)
{
if (d.Value == null)
resourceEntries.Add(d.Key.ToString(), "");
else
resourceEntries.Add(d.Key.ToString(), d.Value.ToString());
}
reader.Close();
}

//Modify resources here...
foreach (String key in data.Keys)
{
if (!resourceEntries.ContainsKey(key))
{

String value = data[key].ToString();
if (value == null) value = "";

resourceEntries.Add(key, value);
}
}

//Write the combined resource file
ResXResourceWriter resourceWriter = new ResXResourceWriter(path);

foreach (String key in resourceEntries.Keys)
{
resourceWriter.AddResource(key, resourceEntries[key]);
}
resourceWriter.Generate();
resourceWriter.Close();

}

关于c# - 在 C# 中修改 .resx 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/676312/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com