我正在尝试使用Ninject来执行多依赖注入。我有3个班级,EmailHelper
,ExceptionHelper
和ReportHelper
。 ExceptionHelper
类别要求EmailHelper
和ReportHelper
要求ExceptionHelper
。这是我的代码。使用Ninject的多依赖注入
IKernel _kernel = new StandardKernel();
_kernel.Load(Assembly.GetExecutingAssembly());
IEmailHelper _emailHelper = _kernel.Get<IEmailHelper>();
ExceptionHelper exceptionHelper = new ExceptionHelper(_emailHelper);
ReportHelper reportHelper = new ReportHelper(exceptionHelper);
ExceptionHelper
和IEmailHelper
似乎松耦合,但ReportHelper
和ExceptionHelper
仍然紧密耦合。
我该如何让ReportHelper
和ExceptionHelper
松耦合?
我可以修改我的代码吗?
IExceptionHelper _exceptionHelper = _kernel.Get<IExceptionHelper>();
ReportHelper reportHelper = new ReportHelper(_exceptionHelper);
但IExceptionHelper
不与IEmailHelper
启动? 我很困惑。
[编辑]
这是我ExceptionHelper
构造。 Rest构造函数具有相同的结构。
private IEmailHelper _emailHelper;
public ExceptionHelper(IEmailHelper eh)
{
_emailHelper = eh;
}
为每个创建相应的接口。 –
@DavidL我已经为每个类制作了接口。 – jkl
你可以在你的问题中包含这些类的构造函数吗? –