C# 自定义 resx 与本地化

C# customized resx with localization

在 C# 中,可以使用给定的文件名检索资源,例如

ResourceManager rm = new ResourceManager("namespace.myresource",this.GetType().Assembly);
string someString = rm.GetString("GeneralError", culture);

有了这个,本地化可以通过将文化放在文件末尾来实现。但我也需要让它自定义到实例级别。

例如:myresource.instance1.resx、myresource.instance3.resx、myresource.instance1.fr-FR.resx、..等

但是用基本的resourcemanager是做不到的。有没有什么具体的方法可以读取这样的资源? (数据库方法不适合该应用程序)

@Nino - 感谢您的帮助。

可以这样整理

var rsxr = new ResXResourceReader("MyResource.resx");
rsxr.UseResXDataNodes = true;
foreach (DictionaryEntry dEntry in rsxr)
{
    var node = (ResXDataNode)dEntry.Value;
    if (node.FileRef == null)
    {
        var paramValue = node.GetValue((ITypeResolutionService) null);
    }
}