是否可以找到所有使用 Ninject 创建的对象,注册为接口 A,但实现接口 B?
Is it possible to find all objects created with Ninject, registered as interface A, but implementing interface B?
我有以下问题。
假设我们有以下接口:
public interface IMyObserver
{
Task<bool> OnSomeEvent();
}
我们的服务很少:
public class MyService1 : IMyService1, IMyObserver
{ ... }
public class MyService2 : IMyService2 , IMyObserver
{ ... }
等等
他们是这样绑定的:
Kernel.Bind<IMyService1>().To<MyService1 >();
Kernel.Bind<IMyService2>().To<MyService2>();
等等
是否可以在 ViewModel 构造函数中注入所有实现 IMyObserver 接口的实例?像这样:
public MyViewModel(IList<IMyObserver> observers)
{
}
你试过这样绑定和解析吗?
Kernel.Bind<IMyService1, IMyObserver>().To<MyService1>();
Kernel.Bind<IMyService2, IMyObserver>().To<MyService2>();
和
public MyViewModel(IEnumerable<IMyObserver> observers)
{
}
我有以下问题。
假设我们有以下接口:
public interface IMyObserver
{
Task<bool> OnSomeEvent();
}
我们的服务很少:
public class MyService1 : IMyService1, IMyObserver
{ ... }
public class MyService2 : IMyService2 , IMyObserver
{ ... }
等等
他们是这样绑定的:
Kernel.Bind<IMyService1>().To<MyService1 >();
Kernel.Bind<IMyService2>().To<MyService2>();
等等
是否可以在 ViewModel 构造函数中注入所有实现 IMyObserver 接口的实例?像这样:
public MyViewModel(IList<IMyObserver> observers)
{
}
你试过这样绑定和解析吗?
Kernel.Bind<IMyService1, IMyObserver>().To<MyService1>();
Kernel.Bind<IMyService2, IMyObserver>().To<MyService2>();
和
public MyViewModel(IEnumerable<IMyObserver> observers)
{
}