事件处理程序中的vb.net子例程给出了nullobjectreference

时间:2014-08-26 19:43:46

标签: vb.net

我似乎无法弄清楚这里发生了什么:

编辑:我们试试这个......这是我的代码大纲...

    Class form1
    Dim table1 as DataTable


    Sub refreshdata()
         table1.load() 'this puts data in table1
    End Sub

    Sub sub1 ()
         msgbox(table1.rows.count)  'this returns the number 15
     End Sub

    Sub combobox_closed (ByVal...) Handles ComboBox1.DropDownClosed
         msgbox(table1.rows.count)   'this returns the NullReferenceException

那么最后两个潜艇之间有什么区别?为什么一个人可以访问桌子而不是另一个?

1 个答案:

答案 0 :(得分:0)

在发布的代码中。 table1在一个子例程中被声明为局部变量,并且您尝试从另一个子例程访问它。使它成为一个类范围的私有变量,而不是能够从两个例程访问它。

Private table1 As DataTable = Nothing