Я пытаюсь получить список классов, которые реализуют универсальный класс и могут получить доступ к некоторым членам GenericClass через абстрактную базу. Вот где я сейчас:
public abstract class AbstractParent: UserControl
{
public abstract AAction Action { get; set; }
}
public abstract class GenericBase<ActionType> : AbstractParent
{
protected ActionType _action;
new public ActionType Action
{
set { _action = value; }
get { return _action; }
}
}
Чтобы получить список экземпляров GenericBase <>, я использую List<AbstractParent>
Проблема в том, что мне нужно открытое свойство genericType (передаваемое производным классом из GenericBase).
Ошибка на данный момент Action hides inherited abstract member Action.get
.
Я знаю, что у меня может быть абстрактное свойство и реализация или модификатор new
в производном свойстве. Оба не вписываются в эту ситуацию.
пример того, что я хочу:
GenericBase<BlueAction> blueClass;
blueClass.Action <- I want this member to be of BlueAction type