昏暗与私人/公众

时间:2011-10-21 17:52:50

标签: vb.net scope

在模块的开头,我希望声明一些全局变量用于各种子/函数。

之间有什么区别

Dim x as stringPrivate x as string / Public x as string,我何时会使用其中一个?

2 个答案:

答案 0 :(得分:11)

私有和公共控制您声明的变量或对象的范围。

Private只允许相关模块/ class /的成员访问实例

public将允许与模块/类/任何内容相同的任何内容访问它。

Dim默认为公共或私有,具体取决于您正在使用的内容。例如,一个类默认为私有。我建议阅读封装和OOP以获得更好的感觉。

答案 1 :(得分:1)

它们是不同的,但相关的东西。

Dim Statement (Visual Basic) [MSDN]告诉我们:

  

[Dim]声明并为一个或多个变量分配存储空间。

  

Dim关键字是可选的,如果您指定以下任何修饰符,通常会省略:Public,Protected,Friend,Protected Friend,Private,Shared,Shadows,Static,ReadOnly或WithEvents。

Access Levels in Visual Basic [MSDN]告诉我们:

  

私人(以及公共,受保护,朋友,受保护的朋友)是访问修饰符,用于指定“哪些代码具有读取或写入的权限。”

  

在模块级别,没有任何访问级别关键字的Dim语句等同于私有声明。但是,您可能希望使用Private关键字使代码更易于阅读和解释。

所以Private x As String相当于Dim Private x As String(尽管如果你输入这个Visual Studio会删除Dim)

Dim x As String相当于Private x As String,除了在结构中(它等同于Public x As String)和不允许声明变量的接口 - 请参阅Declaration Contexts and Default Access Levels (Visual Basic) [MSDN]