几个月以来,使用Async CTP成功编译后:
Public Shared Iterator Function FindVisualChildren(Of T As DependencyObject)(ByVal depObj As DependencyObject) As IEnumerable(Of T)
If depObj IsNot Nothing Then
For i As Integer = 0 To VisualTreeHelper.GetChildrenCount(depObj) - 1
Dim child As DependencyObject = VisualTreeHelper.GetChild(depObj, i)
If child IsNot Nothing AndAlso TypeOf child Is T Then
Yield CType(child, T)
End If
For Each childOfChild As T In FindVisualChildren(Of T)(child)
Yield childOfChild
Next childOfChild
Next i
End If
End Function
突然间,情况不再如此。 Visual Studio不再能够识别语法并使用“预期语句结束”来扩散功能。
最近,我的机器在Visual Studio打开时保持开启(我感到羞耻),它自动关闭以安装一些Winows更新。那么,我一直无法编译解决方案。我在2周前找到了我的解决方案的备份副本,只是为了确保我没有做些什么,我也看到了同样的问题。
我也尝试卸载并重新安装.Net Framework Async CTP。
据我所知,最近,我收到了几个> net Framework 4更新和安全更新。
我希望其他人能够对此有所了解,并在MS手机上浪费我一天的时间。
答案 0 :(得分:0)
在函数定义中,您有错误。请查看文档以声明VB中的函数。我猜你已经把它与C#或其他一些编程语言搞混了。
http://msdn.microsoft.com/en-gb/library/sect4ck6.aspx
不应在共享和函数之间使用单词Iterator,因为函数的返回值是在函数末尾给出的......作为IEnumerable(Of T)。
Iterator过程修饰符仅适用于Visual Studio 11,因此通常不会使用VS 10或更低版本进行编译: