こんにちは。
例えば、以下のようにフォーム用の変数を宣言します。
Dim f As Form1
この変数を別のメソッドで処理をする時に、上記宣言した変数fの型が何であるか(この場合Form1)を調べたいのですが、
どのようにすればよいでしょうか?
変数fのインスタンスが作成されているのであれば、f.GetType()で取得できると思いますが、
変数fがNothingの場合でも、宣言したときの型が分かるようにしたいのです。
よろしくお願いいたします。
なお、VB.netのバージョンはVB2008です。
「変数 f の中身が、どのような型であるのか」を調べたいのではなく、
「変数 f が、どのような型として宣言されているか」を調べたい、という事でしょうか。
だとしたら、リフレクションを用いることで調べられるかと思います。
> だとしたら、リフレクションを用いることで調べられるかと思います。
そこまでせずとも、「型推論」を使えば、簡単に調べられるかな。
Public Class Form1
Private Sub Form1_Load() Handles MyBase.Load
Dim f0 As Form = Nothing
Dim f1 As Form1 = Nothing
Dim f2 As Form2 = Nothing
MsgBox(GetVarType(f0).FullName)
MsgBox(GetVarType(f1).FullName)
MsgBox(GetVarType(f2).FullName)
End Sub
Function GetVarType(Of T)(ByVal var As T) As Type
Return GetType(T)
End Function
End Class
魔界の仮面弁士様。
早速のご回答、誠にありがとうございました。
上記方法でうまくいきました。
今後ともよろしくお願い申し上げます。