是否可以找到使用Ninject创建的,注册为接口A但实现接口B的所有对象?

问题描述 投票:1回答:1

我有以下问题。

假设我们具有以下界面:

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>();

是否可以将所有实现IMyObserver接口的实例注入到ViewModel构造函数中?像这样的东西:

public MyViewModel(IList<IMyObserver> observers)
{
}
c# xamarin dependency-injection ninject
1个回答
0
投票

您是否尝试过像这样进行绑定和解析?

Kernel.Bind<IMyService1, IMyObserver>().To<MyService1>();
Kernel.Bind<IMyService2, IMyObserver>().To<MyService2>();

public MyViewModel(IEnumerable<IMyObserver> observers)
{
} 
© www.soinside.com 2019 - 2024. All rights reserved.