В моем проекте на c # у меня есть два абстрактных общих родительских класса, которые затем имеют несколько дочерних классов, которые наследуют их. Проблема в том, что я передаю дочерний тип родительскому родовому, и это делает для некоторых глупо выглядящих определений классов и методов.
Есть ли способ в родительских классах Generic получить тип класса, наследующего их? Поэтому вместо того, чтобы передавать тип в DTOBase, объявите, что это будет тип первого дочернего элемента DTOBase.
Определения родительского класса
public abstract class DTOBase<T> : INotifyPropertyChanged, IMergeable<T>
public abstract class ModelBase<T,U> : INotifyPropertyChanged, ITrackable, IMergeable<U>
where T : DTOBase<T>
where U : ModelBase<T,U>
Пример дочерних классов
public class MenuGroup : DTOBase<MenuGroup>
public class MenuGroup : ModelBase<DTOs.MenuGroup, MenuGroup>