我用类创建了一个接口:
public interface IBackgroundSubscriber<T>
{
...
}
public class BackgroundSubscriber<T> : IBackgroundSubscriber<T>
{
...
}
然后我想用Unity
IoC容器注册它:
private void RegisterServicesAndViews()
{
_container.RegisterType<IBackgroundSubscriber<TypeA>, BackgroundSubscriber<TypeA>>();
_container.RegisterType<IBackgroundSubscriber<TypeB>, BackgroundSubscriber<TypeB>>();
}
然后运行它:
public void Initialize()
{
_container.Resolve<IBackgroundSubscriber<TypeA>>();
_container.Resolve<IBackgroundSubscriber<TypeB>>();
...
}
但现在看来我必须经常指定TypeA
和TypeB
(3次)。
我能让这更聪明吗?
答案 0 :(得分:1)
您可以执行以下操作
_container.RegisterType(typeof(IBackgroundSubscriber<>),
typeof(BackgroundSubscriber<>));