Это огромная проблема дизайна, с которой я часто сталкиваюсь, и я думаю, что это потому, что я не понимаю ООП.В производном классе, как иметь свойство производного типа от типа свойства в базовом классе?
Вот класс базового имущества:
public class BasePropety {}
Вот тип моего DerivedProperty:
public class DerivedProperty : BaseProperty
{
public AClass A { get; set; }
}
Вот мой базовый класс:
public class BaseClass
{
public BaseProperty Property { get; set; }
}
Вот мой производный класс:
public class DerivedClass : BaseClass
{
public DerivedProperty Property { get; set; }
public void MethodExample()
{
AClass aValue = this.Property.A;
}
}
я мог бы, конечно, типаж мою собственность, но это раздражает:
public class DerivedClass : BaseClass
{
public void MethodExample()
{
var typedProperty = (DerivedProperty) this.Property;
AClass aValue = typedProperty.A;
}
}
Я знаю, что могу использовать новое ключевое слово, но я читал здесь и там, что это плохая практика, так как я полагаю, добиться этого? Должен ли я создать новое свойство?
Заранее благодарим за ответы.
Это соответствует моей потребности. Я действительно не хотел, чтобы это выглядело так, как будто я хотел 2 независимых свойства. Спасибо за Ваш ответ. – Apollidore