各种VB.NET访问级别概念简述
创始人
2024-06-21 11:11:05
0

VB.NET编程语言与Java怨言机制大致相同,其中也包括很多访问级别,方便我们提高程序开发中的安全性。已声明元素的“访问级别”是指能够对其进行访问的程度,即什么代码对其具有读取或写入权限。这不仅取决于元素本身的声明方式,还取决于元素容器的访问级别。不能访问包含元素的代码也不能访问该元素中包含的任何元素,甚至那些声明为 Public 的元素也不例外。例如,Private 结构中的 Public 变量可从包含该结构的类内部访问,但不能从该类的外部访问。#t#

Public

声明语句中的 Public (Visual Basic) 关键字表明可从以下位置访问元素:同一项目中任意位置的代码,引用该项目的其他项目,以及由该项目生成的任何程序集。下面的代码显示一个 Public 声明的示例。

Public Class classForEverybody仅可以在模块、接口或命名空间级别使用 Public。这意味着可以在源文件级别或命名空间级别,或者在接口、模块、类或结构内部声明 public 元素,但不能在过程内声明它。

Protected

声明语句中的 Protected (Visual Basic) 关键字表明仅可以从同一个类内部或从该类派生的类中访问元素。下面的代码显示一个 Protected 声明的示例。

Protected Class classForMyHeirs仅可以在声明类的成员时和仅在类级别使用 Protected。这意味着可以在类中声明 protected 元素,但不能在源文件级或命名空间级,或者在接口、模块、结构或过程内部声明它。

Friend

声明语句中的 Friend (Visual Basic) 关键字表明可以从同一程序集内部访问元素,而不能从程序集外部访问。下面的代码显示一个 Friend 声明的示例。

Friend stringForThisProject As String仅可以在模块、接口或命名空间级别使用 Friend。这意味着您可以在源文件级别或命名空间级别,或者在接口、模块、类或结构内部声明 friend 元素,但不能在过程内声明它。

Protected Friend

声明语句中的 Protected 和 Friend 关键字一同出现时,表明可从以下位置访问元素:派生类或同一程序集内,或两者皆可。下面的代码显示示例 ProtectedFriend 声明。

Protected Friend stringForProjectAndHeirs As String仅可以在声明类的成员时且仅在类级别使用 ProtectedFriend。这意味着可以在类中声明 protected friend 元素,但不能在源文件级别或命名空间级别,或者在接口、模块、结构或过程内声明它。

Private

声明语句中的 Private (Visual Basic) 关键字表明仅可以从同一模块、类或结构内访问元素。下面的代码显示一个 Private 声明的示例。

Private numberForMeOnly As Integer仅可以在模块级别使用 Private。这意味着可以在模块、类或结构内部声明 private 元素,但不能在源文件级别或命名空间级别、接口内部或者过程内声明它。

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

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...