Visual Studio突然想让我声明循环迭代器

时间:2014-09-22 19:32:11

标签: vb.net visual-studio-2013

我很乐意写这样的代码:

For idtArticles = 0 To dtArticles.Rows.Count - 1

和此:

If request.QueryString.HasKeys() Then
    For Each parameter In request.QueryString.AllKeys
        requestVars.Add(parameter, request.QueryString(parameter))
    Next
Else...

突然间它不会编译并给出错误

  

错误34' idtArticles'没有宣布。由于这可能无法访问   它的保护水平。 ..userAccountModel.vb

假设我无法回到懒惰状态,可以编辑为

 For idtArticles as Integer

但我不知道申请集合将被宣布为什么......

  

错误39'参数'是一种类型,不能用作   表达。 ..userAccountModel.vb

我怎样才能让它回到不关心?如果没有,我应该DIM Parameter作为什么?

我已经检查过,Option Strict为OFF。在工具.. 默认项目设置。

谢谢!

1 个答案:

答案 0 :(得分:4)

Option Infer Statement上的Microsoft Doc:

  

当您将选项推断设置为开启时,您可以声明局部变量   没有明确说明数据类型。编译器推断数据   来自其初始化表达式类型的变量类型。

我会在您的代码文件顶部尝试此操作:

Option Infer On

或者,您可以在我的项目中更改此项 - >编译 - 选项推断,在Option strict下面!

enter image description here