ber*_*436 4 vb.net delegates programming-languages
我正在学习VB.NET中的代理,并对委托类型感到困惑.在阅读有关委托的内容时,我了解到委托是一种数据类型,可以引用具有特定签名的方法.因此,与String可以引用字符的方式相同,委托可以引用一个方法(例如),该方法将整数作为输入并返回一个整数作为输出.但在与代表们玩耍时,我发现事实并非如此.下面的代码编译并运行 - 即使我不服从我的委托签名中的'输入'.我糊涂了.我错过了什么吗?
Public Delegate Function myDelegate(ByVal i As Integer) As Integer' int in, rtrn int
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim md As myDelegate 'should be of type int in, rtrn int
md = New myDelegate(AddressOf squared) 'allows assign to string in, string out
MsgBox(md("3"))
End Sub
Private Function squared(ByVal i As String) As String
Return i * i
End Function
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
279 次 |
最近记录: |