我想声明使用装饰在Ninject责任的链。

有没有人这么做过?

感谢。

有帮助吗?

解决方案

在新的ninject 2.0语法可以通过以下较新语法实现这一点:

Bind<IEmailSender>().To<LoggingEmailSender>();
Bind<IEmailSender>().To<SmtpClientEmailSender>().WhenInjectedInto<LoggingEmailSender>();

恰好碰到了这个自己,发现是做到这一点的方式ForMembersOf已ninject被删除2.0

其他提示

假设我在正确理解的问题,一种方法是这样的:

Bind<IEmailSender>().To<LoggingEmailSender>();
Bind<IEmailSender>().To<SmtpClientEmailSender>().ForMembersOf<LoggingEmailSender>();

在LoggingEmailSender类将有一个构造是这样的:

LoggingEmailSending(IEmailSender sender)

这应该让你一个装饰很轻松了 - 只记得不使用属性,你还挺限于单一的构造函数

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top