我想知道是否可以使用扩展功能实现 Do Loop。
这是我的非工作代码:
<System.Runtime.CompilerServices.Extension()> _
Public Sub DoUntil(condition As Func(Of Boolean), action As Action)
Do Until condition
action()
Loop
End Sub
所以它可以被称为:
DoUntil(Function() Finished = True, Sub()
x = x + 1
If IsPrime(x) Then
Finished = True
)
但我收到错误:“System.Func(Of Boolean)”类型的值无法转换为“Boolean”
谢谢。