在VB6中,我们有全局变量,它们在模块文件中声明。
在。net中,我们有这样的概念吗?或者它被会话变量和类的静态常数变量之类的东西取代,可以用作全局数据?可以创建公共静态类
public static class GlobalVariable{
public static int globalvariable = 100;
}
则可以访问
GlobalVariable.globalvariable
在VB中。NET中,可以添加模块文件。在该模块文件中,您必须使用Public声明变量和/或函数。但这只是在VB中。净
示例,模块文件将是这样的
Module UserDetails
Public SqlCon as SqlConnection
Public DataSet as DataSet
Public dataAdaptr as SqlDataAdapter
End Module
在上面的例子中,我使用sql连接,数据集,数据适配器从任何形式,类和模块。
这个例子已经在我的项目中使用了。你也可以在你的Asp.net项目中使用它
Session和Application变量在Web平台上是"全局的"。
- 会话变量(全局的用户会话)
- 应用程序VAR(全局的IIS进程的网站,即所有会话访问网站/应用程序)
一个带有公共变量的模块,对于windows类型应用中的所有窗体/类都是全局的。
提到这个话题可能会有麻烦,因为这是一个禁忌话题。也有单例类,它们是可以被实例化的类对象,但一次只能存在一个。我用它作为Winforms的自定义控制台。但是,是的,您也可以使用带有静态变量的公共静态类。这些是可以修改的,但你会遇到"面向对象精神"的宗教人士的麻烦,因为它违反了封装的神圣原则。
老实说,我只需要一次可能被称为"全局变量"的东西,这就是我想在控制台单例中占用的空间,然后它开始擦除旧行。
你需要一个全局变量做什么?大多数情况下,它们与多线程一起使用是一种痛苦,它们通常表明您没有考虑可重用代码。全局变量是面向对象编程的胶带。