| ■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などを扱うやり方では基本的にできません。 ※キャストではなくて単に型の互換性のチェックとかだけならまあやりようはありますが。
|
|