通过扩展方法注入DI服务

编程入门 行业动态 更新时间:2024-10-26 18:22:53
本文介绍了通过扩展方法注入DI服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在尝试在扩展方法中获取IStringLocalizer服务实例,这可能吗?关于应该如何注射的任何建议?

I'm trying to get the IStringLocalizer service instance inside a extension method, is it possible? Any suggestions on how should I inject it?

我的目标是使用名称作为约定来翻译类型.

My goal here is to translate a type using its name as convention.

public static class I18nExtensions { private IStringLocalizer _localizer; // <<< How to inject it? public static string GetName(this Type type) { return _localizer[type.Name].Value; } }

推荐答案

遵循 @ NightOwl888评论我走错了路,我最终创建了以下服务:

Following @NightOwl888 comment I was in the wrong path, I ended up creating the following service:

public class TypeNameLocalizer : ITypeNameLocalizer { private IStringLocalizer localizer; public TypeNameLocalizer(IStringLocalizer<Entities> localizer) { this.localizer = localizer; } public string this[Type type] { get { return localizer[type.Name]; } } }

信用:@ NightOwl888

Credit: @NightOwl888

更多推荐

通过扩展方法注入DI服务

本文发布于:2023-11-16 21:52:10,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1607615.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:方法   DI

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!