脚本中的可变保护级别

时间:2011-07-12 12:16:17

标签: vb.net visual-studio

我正在以编程方式创建脚本。但是我无法从modeule访问数据集。请参阅下面的“示例”。 ('ds'未声明。由于其保护级别,它可能无法访问。)

在Sub main()中,我可以毫无问题地访问ds 在Cacl_Module的Sub test()中,我无法访问ds。

Namespace Evaluator

Public Class Evaluator
    Public ds As New DataSet
    Public ComboBox1 As New ComboBox
    Public CheckBox1 As New CheckBox
    Public TextBox1 As New TextBox

    Sub main()
        Debug.Print(ds.Tables("Table1").Rows.Count)
        Debug.Print(CheckBox1.Checked)
    End Sub

End Class

Public Module Calc_module
    Sub test()
        Debug.Print(ds.Tables("Table1").Rows.Count)
        Debug.Print(CheckBox1.Checked)
    End Sub
End Module

End Namespace

1 个答案:

答案 0 :(得分:0)

那是因为dsEvaluator类的成员。在Main类的Evaluator方法中,您可以访问其成员。但是在test的{​​{1}}方法中,您没有Calc_Module的实例。你应该创建一个,如:

Evaluator

甚至更好(无需重复代码)

Public Module Calc_module
    Sub test()
        Dim MyEvaluator as new Evaluator()
        Debug.Print(MyEvaluator.ds.Tables("Table1").Rows.Count)
        Debug.Print(MyEvaluator.CheckBox1.Checked)
    End Sub
End Module