私は持っている
Function Bar(s As String) ...
関数を作成する必要があります
Me.Foo(myInt, AddressOf Bar)
Foo の署名はどのように書けばよいですか?
一般的な Func(Of Type) キーワードを使用するのがおそらく最も簡単です。
Public Function Foo(i As Integer, f As Func(Of String, Integer)) As String
Dim i2 = f.Invoke("test")
Return "42"
End Function
委任署名を宣言します。
Public Delegate Sub Format(ByVal value As String)
Test 関数を定義します。
Public Sub CheckDifference(ByVal A As Integer, _
ByVal B As Integer, _
ByVal format As Format)
If (B - A) > 5 Then
format.Invoke(String.Format( _
"Difference ({0}) is outside of acceptable range.", (B - A)))
End If
End Sub
コードのどこかで Test 関数を呼び出します。
CheckDifference(Foo, Bar, AddressOf log.WriteWarn)
または
CheckDifference(Foo, Bar, AddressOf log.WriteError)