Как я могу переопределить свойство унаследованного класса, но использовать другой тип возвращаемого значения?
Я работаю с классом, настроенным следующим образом:
Public MustInherit Class foo
Public MustOverride Property Value As Object
End Class
Я хочу унаследовать этот класс, но свойство Value должно возвращать другой тип:
Public Class foo_string
Inherits foo
Public Overrides Property Value As String
End Class
Public Class foo_date
Inherits foo
Public Overrides Property Value As Date
End Class
Это вызывает у меня ошибку: «« Общедоступное переопределяющее значение свойства как строку »не может переопределить« Общедоступное значение свойства MustOverride как объект », потому что они различаются по возвращаемым типам».
Я могу удалить свойство из базового класса и указать его только в подклассах, но мне интересно, есть ли другой способ заставить его работать.
Я изучаю иерархию классов, но еще не овладел ею, поэтому я приму, если вы считаете, что то, что я пытаюсь сделать, не имеет смысла или что мне не хватает чего-то очевидного.
foo
Общий класс. - person Blackwood   schedule 03.02.2016