C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 41 を表示中)
■21624 / )  Re[4]: Objectから動的に型取得してキャスト処理
□投稿者/ なちゃ (138回)-(2008/07/06(Sun) 15:16:22)
Public Function GetXMLData(Of T)(ByVal XMLFile As String, ByRef DataCls As T) As Boolean

serializer = New XmlSerializer(GetType(T))

DataCls = DirectCast(serializer.Deserialize(fs), T)

な感じで、呼び出す側の引数の型に応じて自動的に使い分けられます。

Dim target As DataType
If GetXMLData("hoge", target) Then

みたいな(あらかじめtargetにインスタンスを作成しておく必要もありません)。

文字列表現された型、Typeなどを扱うやり方では基本的にできません。
※キャストではなくて単に型の互換性のチェックとかだけならまあやりようはありますが。
返信 編集キー/


管理者用

- Child Tree -