У меня есть какой-то устаревший код, который необходимо изменить.Сначала у меня есть интерфейс дочернего класса: IChild
.и некоторые классы, которые реализуют этот интерфейс, например: ChildType1 : IChild
, ChildType2 : IChild
и ChildType3 : IChild
.
Родитель имеет свойства дочерних типов, и каждый раз, только один из них получает инициализированный пример, если ChildType1
имеет значение ChildType2
и ChildType3
: null
:
class Parent
{
public ChildType1 Type1 { get; set; }
public ChildType2 Type2 { get; set; }
public ChildType3 Type3 { get; set; }
//...
}
* * * * * * * * * * * * * * * * * * * * * * * * * * IChild
имеет несколько важных свойств Enum:
public interface IChild
{
ImportantEnum MyEnum { get; set; }
//
}
Мой вопрос: относительно того факта, что яНе знаете, какой из типов инициирован, каков наилучший способ сделать свойство child MyEnum
доступным через родительский API?
Я открыт для рефакторинга.