次のように、複数行のラムダ式を使用できます。
If Me.InvokeRequired Then Me.Invoke(
Sub()
Dim element As HtmlElement = webbroswers(3).Document.GetElementById("ID")
If element IsNot Nothing Then
element.InnerText = TextBox4.Text
End If
End Sub
)
そのように、それが であるかどうかを確認することNothing
は、失敗させて例外をキャッチするよりも効率的です。ただし、他の理由で Try/Catch を実行する必要がある場合は、次のように、複数行のラムダ式で簡単に実行することもできます。
If Me.InvokeRequired Then Me.Invoke(
Sub()
Try
webbroswers(3).Document.GetElementById("ID").InnerText = TextBox4.Text
Catch ex As Exception
' ...
End Try
End Sub
)
ただし、ラムダ式が長くなりすぎる場合、または例外でより意味のあるスタック トレースが必要な場合は、次のように実際のメソッドへのデリゲートを使用できます。
If Me.InvokeRequired Then Me.Invoke(AddressOf UpdateId)
'...
Private Sub UpdateId()
Try
webbroswers(3).Document.GetElementById("ID").InnerText = TextBox4.Text
Catch ex As Exception
' ...
End Try
End Sub