在VB.NET中Friend的用法
1个回答
展开全部
Friend是用来在声明中定义访问级别的。
Public:公用,同一项目中任意位置的代码,引用该项目的其他项目,以及由该项目生成的任何程序集。
Protected:保护,同一个类内部或从该类派生的类中访问元素。
Friend:友元,从同一程序集内部访问元素,而不能从程序集外部访问。
Protected Friend:Protected 和 Friend 的联合,派生类或同一程序集内,或两者皆可。
Private:私有,仅可以从同一模块、类或结构内访问元素。
而所谓程序集的概念,可以理解为一个项目就是一个程序集,VS支持一个解决方案有多个项目,也就是一个解决方案多个程序集,比如项目A、项目B,项目A为启动项目。A要访问B首先要引用B,假设B里有个public的类myclass,类里有一个public的方法A和一个friend的方法B,按照前面说的访问级别的设定,myclass类的方法A在项目A中是可见的,而B却是不可访问的(Friend从且仅从同一程序集内部访问)。这就是区别。
P.S MSDN给的程序集的定义繁琐而难于理解,题主可以自行查阅一下。
Public:公用,同一项目中任意位置的代码,引用该项目的其他项目,以及由该项目生成的任何程序集。
Protected:保护,同一个类内部或从该类派生的类中访问元素。
Friend:友元,从同一程序集内部访问元素,而不能从程序集外部访问。
Protected Friend:Protected 和 Friend 的联合,派生类或同一程序集内,或两者皆可。
Private:私有,仅可以从同一模块、类或结构内访问元素。
而所谓程序集的概念,可以理解为一个项目就是一个程序集,VS支持一个解决方案有多个项目,也就是一个解决方案多个程序集,比如项目A、项目B,项目A为启动项目。A要访问B首先要引用B,假设B里有个public的类myclass,类里有一个public的方法A和一个friend的方法B,按照前面说的访问级别的设定,myclass类的方法A在项目A中是可见的,而B却是不可访问的(Friend从且仅从同一程序集内部访问)。这就是区别。
P.S MSDN给的程序集的定义繁琐而难于理解,题主可以自行查阅一下。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询