2011-03-17 45 views
1

我正在寻找一种方法来转换下面的封闭泛型语句打开的通用说法,即我不想重复相同像用户,雇主等从封闭的仿制药转换为开放泛型

实体封闭式使用用户:

UnityContainer.RegisterType<Func<IDataContextAdapter, IRepository<User>>>(
    new InjectionFactory(c => 
        new Func<IDataContextAdapter, IRepository<User>>(
         context => new Repository<User>(context)) 
     ) 
); 

我试图转换应用的typeof(..)操作打开仿制药,但并没有取得多大成功。

任何想法?

回答

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)) 
     ) 
); 
} 
+0

它的工作原理,但仍需要多次调用该函数在我的应用程序的所有库实体。使用typeof运算符寻找一些通用的东西。 – skjagini 2011-03-17 20:30:31