c# - 防止(手动输入)Resources.Designer 中的代码删除

标签 c# .net resources resx

我在 Resources.Designer.cs 中添加了一个小函数,它工作得很好,问题是当我从 Resources.resx 中添加或删除某些东西时,这个函数总是被删除,有没有我可以放置的指示器还是绕过这个?

谢谢!


这是一个用作索引器的非常简单的方法。

internal static string Keys(string key) 
{ 
   return ResourceManager.GetString(key, resourceCulture); 
} 

我这样做是因为您不能执行 Properties.Resources 然后连接一个值。一个扩展可以工作,但是我试过了,它变得很有趣,因为它都是静态方法,你不想实例化。

想法?

最佳答案

resx 文件的代码部分由名为 PublicResXFileCodeGenerator(或 InternalResXFileCodeGenerator,取决于您将资源文件可见性设置为什么)的工具自动生成。它在文件顶部说:

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.1
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

如果你真的需要解决这个问题,you'll need to subclass the PublicResXFileCodeGenerator (VS 运行以生成 resx 代码的工具),并实现您自己的工具,Visual Studio 可以在每次要刷新资源文件时运行该工具。

覆盖该工具将允许您生成部分类,然后您可以将自定义代码存储在另一个 .cs 文件中的某个地方,作为资源文件类的另一个部分类。

老实说,可能还有更简单的方法。您正在实现的自定义代码是什么?你能把它变成扩展方法吗?更多细节可能会帮助我们为您指明更好的方向。

关于c# - 防止(手动输入)Resources.Designer 中的代码删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2945712/

相关文章:

c# - 使用正则表达式提取数据 url

java - 如何在资源文件夹中引用javafx fxml文件?

oauth-2.0 - OAuth 2 - 如何定义动态资源授权?

c# - 需要额外括号的 boolean 语句

c# - 访问 token : "Error validating verification code." 的 Facebook 服务器端流问题

c# - 在单元测试中使用 swisstopo.dll

c# - .NET 权限异常中的网络数据包嗅探

c# - 在内存中写入文本文件而不存储到磁盘

c# - WPF 项目中的 Serilog

c# - Silverlight 动态资源文件位置