我不确定这里的术语是否正确,所以我的搜索毫无结果。
我有一个具有MyClass
功能的班级ToControls
。此函数返回一些自定义控件。
创建MyClass
的实例时,我希望传递一个方法,该方法将绑定到OnClick
返回的LinkButton
的{{1}}事件。
这是一个简化版本:
ToControls
我的代码隐藏看起来像这样:
Public Class MyClass
Private proAction As Action
Public Property Action() As Action
Get
Return proAction
End Get
Set(value As Action)
proAction = value
End Set
End Property
Public Function ToControls() As Object
Dim htmlWrapper As New HtmlGenericControl("div")
Dim lnkTest As New LinkButton
lnkTest.Text = "TEST"
AddHandler lnkTest.Click, AddressOf Action.Method.Name
' ## Error: 'AddressOf' operand must be the name of a method (without parentheses)
htmlWrapper.Controls.Add(lnkTest)
Return htmlWrapper
End Function
End Class
我遇到了Protected Sub MySub()
Dim myObj As New MyClass
myObj.Action = AddressOf MyPassedSub
End Sub
Protected Sub MyPassedSub()
Response.Write("Hello World!")
End Sub
我认为可能对此有用但我怀疑我错了。
我怎样才能做到这一点?