c# - 是否建议使用 .resx 文件在类库中存储常见的字符串引用?

标签 c# three-tier

是否建议使用 .resx 文件在业务层类库中存储常见的字符串引用?我通常只看到这些被用于表示层。

最佳答案

一个选择是在您的解决方案中有一个单独的项目,其中包含整个解决方案的所有 resx 文件。然后您可以将其添加为对业务层的引用。在 Resources 项目中,您可以围绕 .net ResourceManager 类编写一个包装器,以返回您的 key 的资源值。类似以下内容:

public class ResourceService : IResourceService
{
    public ResourceService() {}

    public GetResourceValue(string resourceFileName, string resourceKey)
    {
         var resourceManager = new ResourceManager("Myresources", Assembly.Load("MyResourcesProjectName"));
         return resourceManager.GetString(resourceKey);
    }
} 

然后您可以在业务层将其用作:

var resourceService = new ResourceService();
var resourceValue = resourceService.GetResourceValue("MyResources", "ResourceKeyName");

我没有时间测试代码,我是随手写的,但它应该能给你大致的思路。 IMO,将 resx 文件放在单独的项目中没有错。 另一种方法是在使用它们的地方放置 .resx 文件。我发现单独的项目想法更好,因为那样的话,您可以为每种类型的语言创建单独的文件夹,并在其中存储特定于区域设置的 .resx 文件。

关于c# - 是否建议使用 .resx 文件在类库中存储常见的字符串引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12410162/

相关文章:

c# - 如何在特定 DataTable 行的剩余列中添加值?

model-view-controller - 三层架构和mvc有什么区别?

c# - 无法从 app_code 访问类

c# - 使选项卡标题灵活地适应 WPF 上的标题文本

c# - 正则表达式过滤掉 $

database - 数据库是否应该仅用于持久性

c# - Lucene - 短语中的通配符

c# - 找不到按钮调用的方法

java - 三层架构和异常(exception)