不会推断变量'cri'的类型,因为它绑定到封闭范围中的字段。更改名称'cri',使用完全限定名称(例如,'Me.cri'或'MyBase.cri')
我创建了一个名为Predefined的类文件,它包含了像cricket这样的方法,来自这个方法的BasketBall返回字符串类型的列表
我在按钮点击事件中调用该类,就像类的对象一样 现在我调用一个名为pre.Cricket()的方法; 因此,当我执行带有警告的程序时,它会引发此错误:
'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
答案 0 :(得分:2)
请参阅此msdn文章:
http://msdn.microsoft.com/en-us/library/bb385162.aspx
(从上面)
代码中的循环控制变量 与该字段的名称相同 类或其他封闭范围。 因为使用了控制变量 没有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