表单之间数据交换的全局变量

时间:2011-09-14 08:59:00

标签: vb.net oop scope

在VB(.NET)应用程序中使用全局变量以便在表单之间交换数据是一种很好的做法吗?

作为全局变量,我指的是在模块中定义的公共变量,而不是类的公共成员或属性。 此外,作为我的个人规则,我从不从类中访问全局变量,但我通过函数将值传递给类。

我知道,我不是朋友的全局变量和他们的滥用,但在表格数据交换中有一些情况,他们似乎只能制作简单/清晰的代码。

示例1: 我的应用程序是使用命令行参数启动的。 我需要以我的所有形式访问这些参数:我只是读取并验证MDI-load事件中的参数,然后将它们存储在全局变量中。因此,我可以从我的所有形式中以非常简单的方式阅读这些值。

示例2: 我正在开发一个程序,用于在EventLog协议(如Windows EventLog)中编写应用程序的事件。 我编写了EventLog类来处理添加,显示,保存,排序EventLog。 然后我将一个模块全局变量 gEventLog 作为类EventLog的范围放入,并在加载MDI表单时创建对象。 通过这种方式,我有一个全局变量,我可以在程序中处理每个表单(MDI和子)的EventLog。 另一方面,我可以创建EventLog作为我的MDI表单的公共成员或属性,它将是相同的。

我已经找到并阅读了一些讨论,但更多是针对C编程或基本讨论问题量身定制的,例如:

Are global variables bad?

http://c2.com/cgi/wiki?GlobalVariablesAreBad

并在vb上:

Declare global variables in Visual Studio 2010 and VB.NET

关于表单之间数据交换的特定情况的任何建议(而不是类和程序的其他组件之间)? 谢谢。

1 个答案:

答案 0 :(得分:0)