Примерно так:

те предположим, что у меня есть бизнес-кейс, я хочу использовать некоторую модель для представления структуры master-child. И будут определенные классы, наследуемые как от мастер-класса, так и от дочернего класса.

Я использую образец ниже

public abstract class BaseChild
{
    public int MyProperty { get; set; }
}

public abstract class BaseMaster
{
    public abstract ReadOnlyCollection<BaseChild> Children { get; }
}

Теперь мне нужны реальные классы, чтобы наследовать от них. Так что следуйте

public class FirstRealChild : BaseChild
{
    public int AdditionalProperty { get; set; }
}

public class FirstRealMaster : BaseMaster
{
    public ReadOnlyCollection<FirstRealChild> Children { get; }
}

Конечно, он не скомпилируется из-за ошибки

«FirstRealMaster» не реализует унаследованный абстрактный член «BaseMaster.Children.get»

Я могу удалитьpublic abstract ReadOnlyCollection<BaseChild> Children { get; } отBaseMaster класс, но он теряет ограничение для всех унаследованных классов, которые требуются дочерние.

У кого-нибудь есть идея получше?

Ответы на вопрос(0)

Ваш ответ на вопрос