我正在寻找一种方法将以下封闭的泛型语句转换为打开通用语句,即我不想为用户,雇主等实体重复相同的操作。
使用用户关闭类型:
UnityContainer.RegisterType<Func<IDataContextAdapter, IRepository<User>>>(
new InjectionFactory(c =>
new Func<IDataContextAdapter, IRepository<User>>(
context => new Repository<User>(context))
)
);
我尝试通过应用typeof(..)操作转换为Open泛型,但没有取得多大成功。
有什么想法?
答案 0 :(得分:1)
制作通用功能
public void Bla<T>() where T:class
{
UnityContainer.RegisterType<Func<IDataContextAdapter, IRepository<T>>>(
new InjectionFactory(c =>
new Func<IDataContextAdapter, IRepository<T>>(
context => new Repository<T>(context))
)
);
}