C# 我可以减少泛型类的注册吗?
我创建了一个带有类的接口:C# 我可以减少泛型类的注册吗?,c#,unity-container,C#,Unity Container,我创建了一个带有类的接口: public interface IBackgroundSubscriber<T> { ... } public class BackgroundSubscriber<T> : IBackgroundSubscriber<T> { ... } 然后运行它: public void Initialize() { _container.Resolve<IBackgroundSubscriber<T
public interface IBackgroundSubscriber<T>
{
...
}
public class BackgroundSubscriber<T> : IBackgroundSubscriber<T>
{
...
}
然后运行它:
public void Initialize()
{
_container.Resolve<IBackgroundSubscriber<TypeA>>();
_container.Resolve<IBackgroundSubscriber<TypeB>>();
...
}
public void Initialize()
{
_container.Resolve();
_container.Resolve();
...
}
但现在看来我必须大量(3次)指定TypeA
和TypeB
。
我能让它更智能吗?你可以做以下几件事
_container.RegisterType(typeof(IBackgroundSubscriber<>),
typeof(BackgroundSubscriber<>));
\u container.RegisterType(typeof(IBackgroundSubscriber),
类型(背景订户);
看
_container.RegisterType(typeof(IBackgroundSubscriber<>),
typeof(BackgroundSubscriber<>));