我目前正在嘗試創建一個如下所示的字典:
Dim dict As New Dictionary(Of Integer, Action)
dict.Add(1, MySubFunction1)
dict.Add(2, MySubFunction2)
Public Sub MySubFunction1()
'do something, return nothing'
End Sub
Public Sub MySubFunction2()
'do something, return nothing'
End Sub
問題是,我不能像在 c# 中看到的那樣將 Action 與子函式一起使用。我應該用“功能”替換“子”并總是回傳一些東西,如下所示:
Public Function MySubFunction1()
'do something'
Return True
End Function
Public Function MySubFunction2()
'do something'
Return True
End Function
或者有沒有更好的方法?
uj5u.com熱心網友回復:
Action并且Sub是正確的組合。
但與 c# 不同,您不能只使用方法名稱作為委托,您需要使用AddressOf:
Dim dict As New Dictionary(Of Integer, Action)
dict.Add(1, AddressOf MySubFunction1)
dict.Add(2, AddressOf MySubFunction2)
dict(1).Invoke
Public Sub MySubFunction1()
Console.WriteLine("Test")
End Sub
Public Sub MySubFunction2()
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/473633.html
下一篇:Datagridview回傳空值
