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


Friend (Visual Basic)

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

Замечания

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

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

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

Вы можете использовать Friend только на уровне модуля, интерфейса или пространства имен. Таким образом, контекст объявления для Friend элемента должен быть исходным файлом, пространством имен, интерфейсом, модулем, классом или структурой; он не может быть процедурой.

Примечание.

Можно также использовать модификатор доступа "Защищенный друг" , который делает член класса доступным из этого класса, из производных классов и из той же сборки, в которой определен класс. Чтобы ограничить доступ к члену из своего класса и производных классов в той же сборке, используйте модификатор закрытого защищенного доступа.

Сравнение Friend и другие модификаторы доступа см. в разделе "Уровни доступа" в Visual Basic.

Примечание.

Можно указать, что другая сборка — это другая сборка, которая позволяет получить доступ ко всем типам и членам, помеченным как 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 в следующих контекстах:

Оператор Class

Оператор Const

Declare Statement

Оператор Delegate

Оператор Dim

Оператор Enum

Оператор Event

Оператор Function

Оператор Interface

Оператор Module

Оператор Property

Оператор Structure

Оператор Sub

См. также