朋友 - Visual Basic

指定只能从包含声明的程序集内访问一个或多个声明的编程元素。

注解

在许多情况下,你希望整个程序集使用类和结构等编程元素,而不仅仅是声明它们的组件。 但是,你可能不希望程序集外部的代码访问它们(例如,如果应用程序是专有的)。 如果要以这种方式限制对元素的访问,可以使用修饰符声明它 Friend 。

编译到同一程序集的其他类、结构和模块中的代码可以访问该程序集中的所有 Friend 元素。

Friend 访问通常是应用程序编程元素的首选级别, Friend 是接口、模块、类或结构的默认访问级别。

只能在模块、接口或命名空间级别使用 Friend 。 因此,元素的 Friend 声明上下文必须是源文件、命名空间、接口、模块、类或结构;它不能是过程。

注释

还可以使用 受保护的友元 访问修饰符,该修饰符使类成员可从该类内部、从派生类以及从定义类的同一程序集访问。 若要限制对其类中成员的访问,以及从同一程序集中的派生类访问,请使用 专用保护 访问修饰符。

有关比较 Friend 和其他访问修饰符,请参阅 Visual Basic 中的 Access 级别。

注释

可以指定另一个程序集是友元程序集,该程序集允许它访问标记为 Friend的所有类型和成员。 有关详细信息,请参阅友元程序集。

示例:

以下类使用 Friend 修饰符允许同一程序集中的其他编程元素访问某些成员。

Class CustomerInfo

Private p_CustomerID As Integer

Public ReadOnly Property CustomerID() As Integer

Get

Return p_CustomerID

End Get

End Property

' Allow friend access to the empty constructor.

Friend Sub New()

End Sub

' Require that a customer identifier be specified for the public constructor.

Public Sub New(ByVal customerID As Integer)

p_CustomerID = customerID

End Sub

' Allow friend programming elements to set the customer identifier.

Friend Sub SetCustomerID(ByVal customerID As Integer)

p_CustomerID = customerID

End Sub

End Class

用法

可以在以下上下文中使用 Friend 修饰符:

类声明

Const 语句

Declare 语句

Delegate 语句

Dim 语句

Enum 语句

事件语句

函数语句

Interface 声明

模块声明

财产声明

结构语句

子语句

另请参阅

InternalsVisibleToAttribute

公共

保护

专用

专用保护

受保护的好友

Visual Basic 中的访问级别

过程

结构

对象和类