所以这就是我得到的:
两个存储库:CreditCardRepository
和DepartmentRepository
然后我有一个EntitySignal<T>
看起来像这样的东西:
public interface EntitySignal<T>
{
event Action<T> Created;
event Action<T> Removed;
event Action<T> Updated;
}
而且我只需将这些信号中的一个或多个注入到我的存储库构造函数中......例如,CreditCardRepository
处理信用卡和交易,所以我想要这两个信号。
现在我的大问题是,是否有一种简单的方法可以告诉 Ninject 为 any EntitySignal<T>
,让它成为一个单例。例如,我可以使用常规界面执行以下操作:
Bind<IMyContract>().To<ContractImplementation>().InSingletonScope()
我怎么能用 做这样的事情EntitySignal<T>
,但是对于任何类型的 T?是否可以?
像这样的东西...
Bind<EntitySignal<CreditCard>>().ToSelf().InSingletonScope();
Bind<EntitySignal<Transaction>>().ToSelf().InSingletonScope();
Bind<EntitySignal<Department>>().ToSelf().InSingletonScope();
Bind<EntitySignal<TrafficReport>>().ToSelf().InSingletonScope();
它甚至可以像这样进一步完成......
Bind<IDepartment>().To<BransonDepartment>();
Bind<EntitySignal<IDepartment>>.ToSelf().InSingletonScope();