【发布时间】:2019-10-10 01:58:52
【问题描述】:
我们公司的某个人(很久以前写错了)这个静态类,由 Nuget 提供:(我无法编辑它)
public static class MailService
{
public static void SendEmail(string recipients, string subject, string msg )
{
SendEmail(recipients, subject, msg);
}
...
}
我已经知道这很糟糕。但让我们继续。
我想在我的 asp.net 核心项目中通过 DI 使用这个类。
问题是我不能使用这个(因为static 不能是新的):
services.AddSingleton<MailService>();
问题:
还有办法让MailService(或它的任何包装器)可注入吗?
【问题讨论】:
-
我认为这在某种程度上是相关的:stackoverflow.com/questions/6523463/… ?
-
你不能把它包装在一个自定义的类/接口中(比如
MailSender/IMailSender)吗?在MailSender中调用MailService并在需要时注入IMailSenderMailService。
标签: c# asp.net-core .net-core