2015-11-11 78 views
1

我有這樣的接口:Ninject在類型與兩個泛型參數綁定

public interface IRepository<TDomain, TBusiness> 
    where TDomain : class 
    where TBusiness : class 
    {...} 

這個類:

public class Repository<TDomain, TBusiness> : IRepository<TDomain, TBusiness> 
    where TDomain : class 
    where TBusiness : class 
    {...} 

當我綁定與ninject,是這樣的:

Kernel.Bind(typeof(IRepository<>)) 
     .To(typeof(Repository<>)) 
     .InRequestScope(); 

並且出現錯誤「...中的類型參數數量不正確」。 當我只有一個泛型類型時,一切正常。 有沒有人解決這個問題的方法?

回答

1

這與Ninject無關,您得到的錯誤是C#編譯器錯誤。這是因爲指定具有兩個通用參數類型的正確方法如下:

typeof(IRepository<,>) 
+0

謝謝!不知道這個語法! –