Я помогаю коллеге разработать обработчик ошибок типа «поймать все» для некоторых элементов управления своего приложения. Он хочет передать объект с ошибкой и тип этого объекта, например TextBox или ComboBox, а затем вызвать метод DirectCast в своем обработчике, чтобы должным образом обратиться к атрибуту Text внутри него. В общем, метод выглядит так:
Protected Sub SpecialErrorHandler(ByVal TargetControl As Object, ByVal ControlType As String)
MessageBox.Show("Bad Juice: " & DirectCast(TargetControl, ControlType(ObjType)).Text)
End Sub
Пока что любые попытки выполнить преобразование типа в методе DirectCast (так как он ожидает объекта в общей подписи) или даже передать правильно установленный объект Type не работают.
Любые идеи здесь, или это одна из тех, "Кастинг не работает таким образом". тип сценариев?