col*_*mde 2 c# resx visual-studio
我创建了一个继承自 ResourceManager 的类。我的问题是,如果我更改 Resources.Designer.cs 以使用它,
例如
private static global::System.Resources.ResourceManager _resourceManager;
Run Code Online (Sandbox Code Playgroud)
到
private static global::MyProject.Resources.MyResourceManager _resourceManager;
Run Code Online (Sandbox Code Playgroud)
它被 ResXFileCodeGenerator 覆盖并设置回默认System.Resources.ResourceManager.
我不想关闭 ResXFileCodeGenerator。但是有没有办法告诉它ResourceManager使用哪个类?
我被告知要查看 ResXFileCodeGeneratorEx,但真的看不出这在这方面有何不同。
有点迟,但使用反射你可以解决这个问题。我将此代码放在 Startup.cs 文件中。
var innerField = typeof(Resources.Resources).GetField("resourceMan",
BindingFlags.NonPublic | BindingFlags.Static);
if (innerField != null)
{
innerField.SetValue(null,
new ExtendedResourceManager("MyNamespace.ResourceFileWithoutResx",
typeof(Resources.Resources).Assembly));
}
Run Code Online (Sandbox Code Playgroud)
因为设计器生成的文件是有目共睹的,只需修改我基于 ResourceManager { get; 编写的代码即可。为您生成的代码。
您可以创建自己的 ExtendedResourceManager 类并根据需要覆盖所有属性。
快乐编码。
| 归档时间: |
|
| 查看次数: |
4582 次 |
| 最近记录: |