2011-03-17 65 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