3
我試圖在擴展方法中獲得IStringLocalizer
服務實例,這有可能嗎?任何建議我應該如何注入?在擴展方法中注入DI服務
這裏我的目標是翻譯一個使用它的名字作爲約定的類型。
public static class I18nExtensions
{
private IStringLocalizer _localizer; // <<< How to inject it?
public static string GetName(this Type type)
{
return _localizer[type.Name].Value;
}
}
有一些醜陋的技巧,可以工作https://github.com/aspnet/DependencyInjection/issues/294 –
我認爲你的擴展方法應該是它自己的服務('ITypeNameLocalizer'),因爲它有依賴關係。僅保留擴展方法*對於不太可能改變且不會有依賴關係的簡單邏輯。 – NightOwl888
+10爲@ NightOwl888。 – Steven