我创建了一个继承自 ResourceManager 的类。我的问题是,如果我更改 Resources.Designer.cs 来使用它,
e.g.
private static global::System.Resources.ResourceManager _resourceManager;
to
private static global::MyProject.Resources.MyResourceManager _resourceManager;
它被 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));
}
因为设计器生成的文件是所有人都可以看到的,所以只需修改我根据 ResourceManager { get; 编写的代码即可。为您生成的代码。
您可以创建自己的扩展资源管理器类并根据需要覆盖所有属性。
快乐编码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)