Как переопределить свойство из унаследованного класса, но использовать другой тип возвращаемого значения?Переопределить свойство с другим DataType
Я работаю с классом создан так:
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
Это дает мне ошибку: «Public переопределяет значение свойства As String» не может переопределить «значение свойства public MustOverride как объект», потому что они отличаются по своим типам возврата ».
Я могу удалить свойство из базового класса и указать его только в подклассах, но мне интересно, есть ли другой способ заставить его работать.
Я изучаю иерархию классов, но еще не освоил ее, поэтому я буду признавать, если вы думаете, что я пытаюсь сделать, не имеет смысла или что у меня нет чего-то очевидного.
В зависимости от того, что вы хотите, вы можете достичь этого, создав 'foo' [Generic Class] (https://msdn.microsoft.com/en-us/library/w256ka79.aspx). – Blackwood