通用资源(Resx)或CustomTool更改?

时间:2013-09-17 12:23:37

标签: c# visual-studio-2010 c#-4.0 generics resx

目前我正在尝试扩展项目的默认资源(resx)。同时,有必要将其用于其他项目。所以我脑子里有仿制药,现在我不确定我的想法是否可能。

好吧,让我们解释一下。

DB和Resx as Fallback

第一个任务是为DB和resx创建一个回退机制。背后的想法是环境,它可以在DB中进行翻译,但不一定。

这是由Custom ResourceManager(使用Custom ResourceReader和ResourceSet)创建的,并将其放在一个自己的Class中。这不是什么大问题。

自定义ResourceManager和DesignTime功能

第二个任务是使resx的字段可用。 我已经通过将Resx作为基础来实现这一目标

internal class FallbackResource : ResxResource 
{ 
    private static global::System.Resources.ResourceManager resourceMan;
    public static global::System.Resources.ResourceManager ResourceManager
    {
        get
        {
            if (resourceMan == null)
            {
                resourceMan = new CustomResourceManager();
            }

            return resourceMan;
        }
    }
}

通过这个,我能够创建一个“FallbackResource”类,可以访问像

这样的字段
... FallbackResource.AFieldwithingApp ...

那又怎样?

我可以在每个新项目中使用CustomResourceManager和Implement“FallbackResource”-Class ...是的你是对的:那不是那样的。

所以我认为应该可以创建一个Generic“FallbackResource”(第一次创建自己的Generics):

var fallbackResource = new GenericFallback<ProjectResxFile>;
... fallbackResource.AFieldofCurrentProject ...

在我的研究期间(我在Generics中有点新)我感觉我的想法是不可能的。我可以使用Class引用,但我不能使用引用作为基础来创建“直接字段访问”功能。

我的结论是错的还是我错过了什么?

否则我似乎不得不考虑编写扩展的“ResXFileCodeGenerator”。或者有更好的想法来完成扩展资源?

提前感谢任何建议和帮助。

0 个答案:

没有答案