Поделиться через


Friend (Visual Basic)

Указывает, что один или несколько объявленных элементов программирования являются доступными только из сборки, содержащей их объявления.

Заметки

Следующий класс использует модификатор 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 только на уровне пространства имен, интерфейса или модуля. Это означает, что контекст объявления для элемента Friend должен быть исходным файлом, пространством имен, структурой, модулем, классом или интерфейсом и не может быть процедурой.

  • Комбинированные модификаторы. Можно использовать модификатор Friend вместе с модификатором Protected (Visual Basic) в одном объявлении. Указанное сочетание задает как дружественный, так и защищенный доступ к объявленным элементам таким образом, что они становятся доступными из этой сборки, из их классов и из любых производных классов. Можно указать Protected Friend только для элементов классов.

Поведение

  • Уровень доступа. Весь код в контексте объявления может иметь доступ к его элементам. Код в других классах, структурах и модулях, которые компилируются к той же сборке, может иметь доступ ко всем элементам Friend в этой сборке.

    Дружеский доступ не является надмножеством или подмножеством защищенного доступа.

  • Модификаторы доступа.. Ключевые слова, указывающие уровень доступа, называются access modifiers. Для получения сведений о сравнении модификаторов доступа см. раздел Уровни доступа в Visual Basic.

Когда следует использовать Friend

В большинстве случаев требуются элементы программирования, такие как классы и структуры, используемые всей сборкой, а не только компонентом, объявляющим их. Тем не менее, их доступ через код за пределы сборки может быть нежелателен, например, если приложение является собственным. Если требуется ограничить доступ к элементу таким образом, можно объявить ее с помощью Friend.

Дружественный доступ часто является предпочтительным уровнем для элементов программирования приложений. Обратите внимание, что, если иное не объявлено, уровень доступа интерфейса, модуля, класса или структуры по умолчанию является Friend.

Модификатор Friend можно использовать в следующих контекстах:

Оператор Class

Оператор Const

Оператор Declare

Оператор Delegate

Оператор Dim

Оператор Enum

Оператор Event

Оператор Function

Оператор Interface

Оператор Module

Оператор Property

Оператор Structure

Оператор Sub

См. также

Ссылки

Public (Visual Basic)

Protected (Visual Basic)

Private (Visual Basic)

Основные понятия

Уровни доступа в Visual Basic

Процедуры в Visual Basic

Другие ресурсы

Структуры (Visual Basic)

Объекты и классы Visual Basic