gpt4 book ai didi

c# - ResXFileCodeGenerator - 覆盖输出(想要使用自定义资源管理器)

转载 作者:行者123 更新时间:2023-11-30 20:37:30 26 4
gpt4 key购买 nike

我创建了一个继承自 ResourceManager 的类。我的问题是,如果我更改我的 Resources.Designer.cs 以使用它,

例如

private static global::System.Resources.ResourceManager _resourceManager;

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; } 为您生成的代码。

您可以创建自己的 ExtendedResourceManager 类并根据需要覆盖所有属性。

快乐编码。

关于c# - ResXFileCodeGenerator - 覆盖输出(想要使用自定义资源管理器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35987762/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com