繁体   English   中英

VB.NET 类成员默认公开

[英]VB.NET class members public by default

根据MSDN

当您不需要限制对编程元素的访问时,公共访问是编程元素的正常级别。 请注意,如果您未另行声明,则在接口、模块、类或结构中声明的元素的访问级别默认为 Public。

因此,如果我在 VB.NET 中声明一个类方法而不指定访问修饰符,则默认情况下它是公共的:

Sub DoSomething()

End Sub

疯了吧! 我希望成员默认是私有的,并且只有那些特别标记为公共的成员才能在课堂外可见。 就像在 C# 中一样...如何修改这种行为?

疯了吧! 我希望成员默认为私有

正如 Fredrik 已经评论的那样,您应该始终提供显式访问修饰符。

如果您始终显式包含访问修饰符,则其他读者的代码会更加清晰。

我认为这是由于向下兼容性或开发人员根本不熟悉访问修饰符。

但你是对的,就像在 C# 中一样,我建议默认情况下将所有内容都设为私有。 您可以在需要时将其公开。

声明上下文和默认访问级别 (VB.NET)

知道如何修改这种行为吗?

我认为不可能在 Visual Studio 的某处指定默认访问修饰符。 您可以尝试创建此处建议的模板类(未测试):

Visual C# 2010 Express:为新类指定默认访问修饰符?

Visual Basic 6 的属性和方法默认为 Public。 由于 VB.NET 是 VB6 的继承者,我相信我们决定继续这种行为。

https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-basic-6/aa266191(v=vs.60)?redirectedfrom=MSDN

至于在 VB.NET 中修改行为的主题 - 除了更改模板或创建宏来查找/替换之外,没有办法实现这一点。

(是的,我知道这是一个非常古老的话题)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM