在扩展方法中使用resx文件中的值

时间:2017-06-09 15:56:07

标签: c# architecture asp.net-core

假设我有一个带有项目的.NET MVC(分别是.NET Core)解决方案

  • MyProject.Web.Website(包含我的应用程序的Web层)
  • MyProject.Web.Resources(包含resx文件)
  • 进一步的项目,例如业务层,数据访问层等(为简洁起见,我省略)
在MyProject.Web.Website中的

我有一个模型类的扩展方法,我想使用其中一个资源文件中的值。

这两种方法中的哪一种更加正确,以保持干净和正确的软件架构?

  1. 直接在扩展方法中调用resx文件的值,例如MyProject.Web.Resources.MyResource.PleaseSelect

  2. 使用此扩展方法时传递资源的值(在MyProject.Web.Website的控制器中

1 个答案:

答案 0 :(得分:1)

由于每个与架构和软件设计相关的主题,答案都应该是“它取决于”。

这取决于你想要达到的目标。我们来谈谈本地化要求。如果你必须支持多种语言,那么传递resx文件值的想法听起来可能更好,因为这个值可能会有这样的变化: resources.en.resx resources.de.resx < / strong>,

但如果这不是一个要求,那么我会选择直接使用扩展方法中的资源。

两种选择都有效。

希望这有帮助