Action是系统定义的一系列委托,它们可以指向可以有参数(泛型定义)但没有返值的方法。
Action :无参数
Action〈T〉 :有一个参数
Action:有两个参数
... *[好像最多定义了16个参数的]*
委托可以理解为C++的指向函数的指针,而Action更象函数模板。
与Action对应,Func就是有返回值的函数模板。
示例如下:
Imports System
Module Module1
Sub Main()
'使用addressof 指定指向函数
Dim f1 As New Action(Of String)(AddressOf Prnt)
'指向lambda 表达式
Dim f2 As Action = Sub()
Console.WriteLine("SUB2" + Environment.NewLine)
End Sub
'指向lambda 表达式
Dim f3 As New Action(Sub()
Console.WriteLine("SUB3" + Environment.NewLine)
End Sub)
'func同理,增加一个返回类型,注:最后一个形参就是返回类型
'Dim f4 As Func(Of Integer) = Function() As Integer
' Return 8
' End Function
f1("SUB1")
f2()
f3()
Console.ReadKey()
End Sub
Private Sub Prnt(strContent As String)
Console.WriteLine(strContent + Environment.NewLine)
End Sub
End Module
|
|