Вот что я хотел бы сделать:
public interface IRepository<TSet<TElement>> where TSet<TElement> : IEnumerable<TElement>
{
TSet<TEntity> GetSet<TEntity>();
}
Возможна ли такая конструкция в .NET?
Редактировать : Вопрос был недостаточно ясен,Вот что я хочу сделать в расширенном виде:
public class DbRepository : IRepository<DbSet<TElement>> {
DbSet<TEntity> GetSet<TEntity>();
}
public class ObjectRepository : IRepository<ObjectSet<TElement>> {
ObjectSet<TEntity> GetSet<TEntity>();
}
То есть я хочу, чтобы ограниченный тип: - принимал один универсальный параметр - реализовывал заданный интерфейс единого универсального параметра.
Isэто возможно?На самом деле, я буду счастлив только первым делом.
public interface IRepository<TGeneric<TElement>> {
TGeneric<TArgument> GetThing<TArgument>();
}