C#定制resx与本地化

时间:2017-04-18 12:23:44

标签: c# resources resx

在C#中,可以使用给定的文件名(如

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

通过这种方式,可以通过将文化置于文件末尾来实现本地化。但我需要让它自定义到实例级别。

ex:myresource.instance1.resx,myresource.instance3.resx,myresource.instance1.fr-FR.resx,.. etc。

但是有了基本的资源管理员,这是无法实现的。是否有任何特定的方式来阅读这样的资源? (db方法不适合应用程序)

1 个答案:

答案 0 :(得分:0)

@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);
    }
}