VB.NET 创建子字典
VB.NET Create a dictionary of Sub
我目前正在尝试创建一个如下所示的词典:
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 与子函数一起使用。
我是否应该将“Sub”替换为“Function”并且总是return这样的东西:
Public Function MySubFunction1()
'do something'
Return True
End Function
Public Function MySubFunction2()
'do something'
Return True
End Function
或者有什么更好的方法吗?
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
我目前正在尝试创建一个如下所示的词典:
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 与子函数一起使用。 我是否应该将“Sub”替换为“Function”并且总是return这样的东西:
Public Function MySubFunction1()
'do something'
Return True
End Function
Public Function MySubFunction2()
'do something'
Return True
End Function
或者有什么更好的方法吗?
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