2015-11-11 4 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

Спасибо! Не знаю об этом синтаксисе! –

Смежные вопросы