我在 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/