【发布时间】:2021-01-20 00:01:59
【问题描述】:
在下面的程序中,为了获取资源字符串,我使用 _localizer["About Title"] 其中“About Title”是一个魔术字符串。如何避免使用这样的字符串?有没有强类型的方法?
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Localization;
namespace Localization.StarterWeb.Controllers
{
[Route("api/[controller]")]
public class AboutController : Controller
{
private readonly IStringLocalizer<AboutController> _localizer;
public AboutController(IStringLocalizer<AboutController> localizer)
{
_localizer = localizer;
}
[HttpGet]
public string Get()
{
return _localizer["About Title"];
}
}
}
【问题讨论】:
-
resx 资源支持本地化,值的访问是强类型的,这要归功于为您创建类的代码生成器。您可以从 Visual Studio 中的 Add > New Item 添加资源文件。
标签: c# .net asp.net-core asp.net-core-localization