У меня есть класс, который я пометил как MustInherit (называемый BasePage), с универсальным методом, помеченным как MustOverride:
Protected MustOverride Function SaveData(Of T As {BaseClass})(ByVal item As T) As T
Что я хочу сделать, так это заставить пользователей этого методаукажите только тип BaseClass или что-либо производное от него.Кроме того, когда класс наследуется от BasePage, он должен работать только с одним производным классом из BaseClass:
Protected Overrides Function SaveData(Of T As BaseClass)(ByVal item As T) As T
Dim grad As DerivedClass = CType(item, DerivedClass)
Return grad
End Function
Однако, когда я пытаюсь выполнить приведение, он выдает следующую ошибку:
Value of type 'T' cannot be converted to 'DerivedClass'.
Вся документация, которую я прочитал, предполагает, что это должно работать.Тем не менее, это не большая проблема, если она не работает, так как я могу обойтись путем создания неуниверсального метода, который принимает только BaseClass.
Есть идеи?