私は、同僚がアプリケーションのいくつかのコントロール用の「キャッチオール」タイプのエラーハンドラーを開発するのを手伝っています。彼がやりたいことは、エラーのあるオブジェクトとそのオブジェクトの型 (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 オブジェクトを渡そうとしても機能しません。
ここにアイデアはありますか、それとも「キャスティングがうまくいかない」の 1 つですか。タイプシナリオ?