Vb.net &引用;版本;是类型,无法解析

Vb.net &引用;版本;是类型,无法解析,vb.net,Vb.net,这是我的密码: Public Class Form1 Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As Sy

这是我的密码:

Public Class Form1

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    If ComboBox1.SelectedItem = "1.6.4 Vanilla Server" Then

        Version = "164"

    End If

    If ComboBox1.SelectedItem = "1.6.2 Vanilla Server" Then

        Version = "162"
    End If
End Sub

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim Version As Int16
End Sub
End Class
然后我在Version下面得到一条蓝线,上面写着:Version是一个类型,不能用作表达式


感谢您的帮助:/

尝试将
版本的名称更改为
VersionNo

编辑:在
Form1
中声明变量,而不是
Form1\u加载

使用
ME.VersionNo=“162”
,您已将其声明为int16并为其分配字符串。

Aaak。给你:

Public Class Form1
     Private VersionNo As String

... 
Private Sub Button1_Click...
   VersionNo = "164"
   ....
End Sub

如果您在
表单\u Load
中声明,则当子项完成时,它将超出范围。您需要一个模块级变量。发生这种情况时,VB以为您在谈论版本类型。如果你想使用
Version
你可能需要把它括起来:
[Version]
告诉VB使用你的var,而不是NET类型。

这是因为
Version
是一种类型,把它放在括号里:
[Version]
或者使用不同的变量name@Plutonix这不起作用:(@puropoix)在VB中,您只需要对同样是关键字的名称使用括号。对变量使用类型名称是非常好的,甚至可能是一种最佳做法。说到最佳做法,将16位整数声明为
Short
,而不是
Int16
。我可能会进来,在同一命名空间中声明我自己的
Int16
类型,ca使用未定义的行为。@StevenLiekens实际上也可以使用括号来解决网络级冲突,如图像的属性名称。将发出关于引用到静态成员的若干警告,即使代码运行正常,也不会进行计算。将括号添加到prop dec中,警告就会消失。不过,这显然不是解决方案。@用户2792832,
Dim VersionNo作为字符串
在表单加载中,所以它不被声明并不重要?
Me.VersionNo
将从父级获取它。它已经在
Form1\u加载
@Tauseef中声明了不,它不是!
版本
只存在于
子表单1\u加载
结束子表单
之间。问题在于有一个
System.Version
类,所以visual studio认为您正在尝试使用它。这显然没有意义,因为您无法为类型赋值。@Steven,这就是我建议他更改名称并使用“我”的原因。我怎么会忽略他在form\u load而不是FormWell中对其进行初始化,这是“doesntwork”隐藏了错误消息可能已更改的事实。