很常见的场景:
public class A { }
public class B:A {}
public class C:A {}
我真的想知道是否可以创建解决所有从 A 继承的 Ninject 绑定,如下所示:
Bind<A>().ToMethod(ctx => proxyFactory.CreateProxy(ctx.Request.Service) as A);
这当然只适用于类型 A 的请求。对 B 和 C 的请求以默认方式处理。
提前致谢
很常见的场景:
public class A { }
public class B:A {}
public class C:A {}
我真的想知道是否可以创建解决所有从 A 继承的 Ninject 绑定,如下所示:
Bind<A>().ToMethod(ctx => proxyFactory.CreateProxy(ctx.Request.Service) as A);
这当然只适用于类型 A 的请求。对 B 和 C 的请求以默认方式处理。
提前致谢
如果可以添加ninject.extensions.conventions,您可以像这样动态绑定它们:
kernel.Bind(x => x
.FromThisAssembly()
.SelectAllClasses()
.InheritedFrom<A>()
.BindBase()
.Configure(c => c.InTransientScope()));