VB默认的Procedure和module,public还是private?

Woo*_*ung 2 vb6 module

过程和模块的公共或私有的默认值?

谢谢.

Cod*_*ray 6

在VB.NET和VB 6中,默认的方法/过程和类/模块都是Public.这意味着如果您没有指定特定的访问级别,它们将始终是公共的.所以这:

Sub SetName(ByVal name As String)
    'do work here
End Sub
Run Code Online (Sandbox Code Playgroud)

相当于:

Public Sub SetName(ByVal name As String)
    'do work here
End Sub
Run Code Online (Sandbox Code Playgroud)

对于VB.NET,请参阅此便捷图表以获取更多详细信息:声明上下文和默认访问级别


但是,我强烈建议您永远不要依赖默认范围.始终明确指定类/模块以及方法/过程的访问级别.默认值可能因语言而异,因此查看代码的另一个程序员可能无法正确猜测,并且在表达性方面总是更好.

此外,请记住,大多数事情应该是Private.如果您没有明确需要具有公共范围的内容,则应将其声明为Private.这增加了代码的模块性,并防止从另一个不相关的代码段意外访问.