ヘッダー

表紙 > VB.NET サンプル >

VB.NET 2002, VB.NET 2003, VB2005

メソッドやプロパティが存在するか調べる

1.メソッドが存在するか調べる例

以下の例ではsenderFocusメソッドが存在するか調べ、存在する場合にはFocusメソッドを呼び出す。

VB.NET2002対応 VB.NET2003対応 VB2005対応 

If Not IsNothing(sender.GetType.GetMethod("Focus")) Then

    sender.GetType.GetMethod("Focus").Invoke(sender, Nothing)

End If

 

.プロパティが存在するか調べる例

以下の例ではsenderBackColorプロパティが存在するか調べ、存在する場合にはBackColorプロパティにColor.Redを設定する。

VB.NET2002対応 VB.NET2003対応 VB2005対応 

If Not IsNothing(sender.GetType.GetProperty("BackColor")) Then

    sender.GetType.GetProperty("BackColor").SetValue(sender, Color.Red, Nothing)

End If

 

3.メンバが存在するか調べる例

以下の例ではsenderEnabledという名前のメンバが存在するか調べる。

VB.NET2002対応 VB.NET2003対応 VB2005対応 

If IsNothing(sender.GetType.GetMember("Enabled")) Then

    MsgBox("Enabledは存在しません。")

Else

    MsgBox("Enabledは存在します。")

End If

メモ:メソッドやプロパティ以外に、イベントやフィールドなどもメンバであることに注意してください。


VB6対応 VB6ではCallByNameを使って試しにメンバを呼び出してみてエラーになるかならないかで調べるしかありません。