从资源文件中读取字符串并以编程方式编辑它

时间:2013-12-25 12:51:07

标签: c# visual-studio-2010 resources

如何读取字符串资源文件?我已经尝试过这个但是我无法获得价值。为了以后编辑它我什么都做不了。如何在programmaticaly后编辑它?我想用一个从文本框中获取的字符串来编辑它的值。

Assembly assembly = this.GetType().Assembly;
manager = new ResourceManager("StringResources.Strings", assembly);
value = manager.GetString("Name");

为了更改其值,我尝试这样做,但它给了我一个错误,不包含Current的定义。我在windows窗体中尝试这些。

Application.Current.Resources["Name"] = "abcd";

请给我一个建议 提前致谢

1 个答案:

答案 0 :(得分:8)

您无法编辑资源字符串。如果要存储一些可以以编程方式更改的字符串,则应使用配置文件,或者更好的用户或应用程序设置(实际上是配置文件的包装器)。

您无法在运行时更改资源字符串的原因是因为资源已编译到您的可执行文件中。如果对已编译的* .exe或* .dll文件进行反向工程,则实际上可以在代码中看到您的字符串。编辑已编译的可执行文件绝不是一个好主意(除非你试图破解它),但是当你尝试从可执行代码中执行它时,它几乎是不可能的,因为文件在执行期间被锁定。

您可以阅读有关用户设置on MSDN的更多信息。 您应该查看该链接,因为它包含详细说明,其中包含有关如何通过GUI设置设置的屏幕截图。

简而言之,您右键单击项目 - >属性 - >设置。现在,您将看到一个表格,您可以在其中添加,编辑和删除用户设置。创建用户设置后,您可以像这样使用它:

//Read
String settingValue = Settings.Default.TestSetting;
//Write
Settings.Default.TestSetting = "newVal";
//Write settings to disk
Settings.Default.Save();