2013年3月20日水曜日

オブジェクトを動的にキャストしたい vb2010

仕事で必要になったので、全ては時の中に...さんを参考に型変換を動的に行ってみた。

作業中にコンパイルエラーが出たが、下記の項目をOffにすることで実行できました。
プロジェクトのプロパティ>コンパイル>コンパイル オプション>Option Strict(S):
遅延バインディングの可否を設定する項目だった。デフォルトではOn(不許可)に設定してあったためコンパイルエラーが出たようです。参考にした記事では触れられていないが、あまりOffにしない方が良い。

最終的に以下のようなコードになりました。

Sub Export(ByVal obj As Objct)  '何受け取るかわかんないけどobjの型に変換したい
  Dim t As Type = obj.Type '変換後の型を取得
  Dim after As Object = Convert.ChengeType(anyObj, t) 'anyObjをobjの型に変換
End Sub


0 件のコメント:

コメントを投稿