1 dim s as new student
2 dim s as student'声明s为student类的对象变量
3 s=new student'创建一个实例并赋给s
从本质上说,对象变量的赋值是将对象实例的地址赋予对象变量,对象变量并没有存储对象实例。因此第二行的声明只是给了s一个student类的引用地址,第三行则是将一个对象实例赋值给了s。
分析一下图中第十三行出现错误“未将对象引用设置到对象实例出现的原因”
当click事件发生时,mybutton.SelectedNode作为对象变量并没有实例,可以这么理解,就是click事件发生时selectednode还没确定(还没实例)。当把click事件转变为afterselect后就不会报这样的错误。
如下图,加上第二行后不会报错,是因为出现msgbox,再关闭selectednode就有了实例
1 Private Sub mybutton_Click(sender As Object, e As EventArgs) Handles mybutton.Click
2 MsgBox("hello")'加上这一句不会报错
3 Dim s As String
4 s = mybutton.SelectedNode.Text
5 Console.WriteLine(s)
6 End Sub