Высокая загрузка ЦП на сервере VPS

Это требует ковариации или контравариантности, поддержка которых ограничена в .Net и не может использоваться для абстрактных классов. Вы можете использовать дисперсию на интерфейсах, так что возможным решением вашей проблемы является создание IRepository, который вы используете вместо абстрактного класса.

    public interface IRepository<out T> where T : EntityBase { //or "in" depending on the items.
    }
    public abstract class RepositoryBase<T> : IRepository<T> where T : EntityBase {
    }
    public class MyEntityRepository : RepositoryBase<MyEntity> {
    }

    ...

    IRepository<EntityBase> baseRepo = (IRepository<EntityBase>)myEntityRepo;
0
задан Syed Muneeb 18 January 2019 в 11:41
поделиться