当我构建vb.net时,它显示0个错误,但当我执行它时,它会引发此错误
不会推断变量“cri”的类型,因为它绑定到封闭范围中的字段。更改“cri”的名称,或者使用完全限定的名称(例如,“Me.cri”或“MyBase.cri”) 我已经创建了一个名为预定义的类文件,它由cricket、BasketBall等方法组成,这些方法来自于返回字符串类型列表的方法 我在按钮点击事件中调用该类,就像类的对象是pre 现在我调用一个名为pre.Cricket()的方法; 因此,当我执行带有警告的程序时,它会引发以下错误:当我构建vb.net时,它显示0个错误,但当我执行它时,它会引发此错误,vb.net,Vb.net,不会推断变量“cri”的类型,因为它绑定到封闭范围中的字段。更改“cri”的名称,或者使用完全限定的名称(例如,“Me.cri”或“MyBase.cri”) 我已经创建了一个名为预定义的类文件,它由cricket、BasketBall等方法组成,这些方法来自于返回字符串类型列表的方法 我在按钮点击事件中调用该类,就像类的对象是pre 现在我调用一个名为pre.Cricket()的方法; 因此,当我执行带有警告的程序时,它会引发以下错误: 'Cricket' is not a member of
'Cricket' is not a member of 'predefined'.
这是第2行显示错误的代码:
Dim cric As New List(Of String)()
cric = pre.Cricket()
For cri As Integer = 0 To cric.Count - 1
请参阅此msdn文章:
(从上面)
代码中的循环控制变量
与的字段同名
类或其他封闭范围。
因为使用了控制变量
如果没有As条款,则它必须
封闭范围中的字段,以及
编译器不会创建新的
变量或推断其类型
在下面的示例中,索引
For语句中的控制变量,
绑定到中的索引字段
客户类。编译器没有
为控件创建一个新变量
变量索引或推断其类型
请给我们看一些代码。另外,您是否尝试在抛出错误的直线上放置断点?你有堆栈跟踪吗?需要更多的信息。
Class Customer
' The class has a field named Index.
Private Index As Integer
Sub Main()
' The following line will raise this warning.
For Index = 1 To 10
' ...
Next
End Sub
End Class