gpt4 book ai didi

c# - 从单独的程序集访问资源文件

转载 作者:行者123 更新时间:2023-11-30 18:03:45 24 4
gpt4 key购买 nike

我在我的 Web 项目中创建了一个资源文件来本地化该应用程序。因此,它将包含 Web 应用程序中标签和按钮等的所有翻译文本。但是,我也有一些后端代码,用于生成电子邮件并将其发送给我的用户,我希望这些电子邮件也能本地化。发送电子邮件的代码位于 Web 项目的单独程序集中,所以我想知道与程序集共享此资源文件的最佳方式是什么?

在我的 Web 项目代码中,我只是这样做:

HttpContext.GetGlobalResourceObject("Localization", "somekey").ToString();

所以我可以简单地在汇编代码中这样做:

System.Web.HttpContext.GetGlobalResourceObject("Localization", "somekey").ToString();

只要从我的 Web 应用程序调用该程序集,它就可以正常工作...但是如果出于某种原因我想从另一个非基于 Web 的应用程序调用该程序集的方法,那么将没有 HttpContext 和它会失败。是否有更好的推荐方法,以便我可以在两者之间共享资源?

非常感谢

最佳答案

您可以构建一个 ExpressionBuilder 来访问来自另一个程序集的字符串。

文章.NET String Resources包括带有表达式字符串的类 StringExpressionBuilder:

<asp:Label ID="AppTextLabel" runat="server" 
Text="<%$ Strings:MyCompany.MyApp.MyStrings, AppText %>" />
<asp:Label ID="LibTextLabel" runat="server"
Text="<%$ Strings:MyCompany.MyLib.MyStrings, LibText %>" />

关于c# - 从单独的程序集访问资源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6864274/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com