Наследование общего интерфейса и реализация классов для шаблона репозитория

Я немного прочитал об ограничениях и пытаюсь реализовать его в моем шаблоне репозитория.

Я хочу что-то вроде приведенного ниже, но не могу заставить его скомпилировать.

 public interface IRepository<T>
 {
    void GetAllData<T>();
 }

 //This needs to inherit from IRepository
 //T has to be a model class
 //V has to be a class that implements IEmployeeRepo
 public interface IEmployeeRepo<T, V> where V : EmployeeRepo where T : class : IRepository<T>
 {
    void DoSomethingEmployeeRelated();
 }

 //Dont think this inheritance is correct
 public class EmployeeRepo<Employee, this> : IEmployeeRepo
 {


 }

 //My example model class
 public class Employee
 {
     public string Name {get;set;}
 }
5
задан John Farrell 24 January 2011 в 13:38
поделиться