public class RepositoryBase<T> where T:class >>> { >>> private List<T> _list; >>> protected RepositoryBase(List<T> x ) >>> { >>> _list = x; >>> } >>> } >>> >>> public class GuestBase<T,TList> : RepositoryBase<T> where T:class where TList:class >>> { >>> protected GuestBase(List<T> thing) : base(thing) >>> {} >>> } >>> >>> public class GuestRepository : GuestBase<X,Guests> >>> { >>> private List<Guests> _guests; >>> public GuestRepository(List<X> xx, List<Guests> guests ) : base(xx) >>> { >>> _guests = guests; >>> } >>> }>>
>> public abstract class RepositoryBase<T> : IRepository<T> where T : class>>
public interface IGuestBase<TList> where TList:class > { > > } > >// then > public class GuestRepository : GuestBase<X,Guests>,IGuestBase<Guests> > { > }BTW GuestBase is probably not a good name for that class since it is still generic