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

C# 在扩展方法中使用resx文件中的值,c#,architecture,asp.net-core,C#,Architecture,Asp.net Core,假设我有一个.NET MVC分别与.NET核心解决方案的项目 包含我的应用程序的Web层的MyProject.Web.Website 包含resx文件的MyProject.Web.Resources 进一步的项目,例如业务层、数据访问层等。为了简洁起见,我省略了这些项目 在MyProject.Web.Website中,我有一个模型类的扩展方法,我想使用其中一个资源文件中的值 这两种方法中,哪一种更适合保持一个干净正确的软件体系结构 在扩展名方法中直接调用resx文件的值,例如MyProject.

假设我有一个.NET MVC分别与.NET核心解决方案的项目

包含我的应用程序的Web层的MyProject.Web.Website 包含resx文件的MyProject.Web.Resources 进一步的项目,例如业务层、数据访问层等。为了简洁起见,我省略了这些项目 在MyProject.Web.Website中,我有一个模型类的扩展方法,我想使用其中一个资源文件中的值

这两种方法中,哪一种更适合保持一个干净正确的软件体系结构

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

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


由于每一个与架构和软件设计相关的主题,答案应该是“视情况而定”

这取决于你想要达到的目标。让我们谈谈本地化要求。如果您必须支持多种语言,那么resx文件的值听起来更好,因为该值可能会有以下变化:resources.en.resx、resources.de.resx,等等

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

两种选择都是有效的

希望这有帮助