Friend(Visual Basic)

프로그래밍 요소를 선언한 어셈블리에서만 해당 프로그래밍 요소를 하나 이상 액세스할 수 있도록 지정합니다.

설명

대부분의 경우 클래스 및 구조체와 같은 프로그래밍 요소를 선언하는 구성 요소뿐만 아니라 전체 어셈블리에서 사용하려고 합니다. 그러나 어셈블리 외부의 코드로 액세스하는 것을 원하지 않을 수 있습니다(예: 애플리케이션이 독점인 경우). 이러한 방식으로 요소에 대한 액세스를 제한하려면 Friend 한정자를 사용하여 선언할 수 있습니다.

동일한 어셈블리로 컴파일되는 다른 클래스, 구조체 및 모듈의 코드는 해당 어셈블리의 모든 Friend 요소에 액세스할 수 있습니다.

Friend 액세스는 애플리케이션의 프로그래밍 요소에 대한 기본 수준인 경우가 많으며, Friend는 인터페이스, 모듈, 클래스 또는 구조체의 기본 액세스 수준입니다.

모듈, 인터페이스 또는 네임스페이스 수준에서만 Friend를 사용할 수 있습니다. 따라서 Friend 요소에 대한 선언 컨텍스트는 원본 파일, 네임스페이스, 인터페이스, 모듈, 클래스 또는 구조체여야 합니다. 프로시저가 될 수 없습니다.

참고 항목

Protected Friend 액세스 한정자를 사용하면 해당 클래스 내에서, 파생 클래스에서, 클래스가 정의된 동일한 어셈블리에서 클래스 멤버에 액세스할 수 있습니다. 클래스 내 및 동일한 어셈블리의 파생 클래스에서 멤버에 대한 액세스를 제한하려면 Private Protected 액세스 한정자를 사용합니다.

Friend와 기타 액세스 한정자를 비교하려면 Visual Basic의 액세스 수준을 참조하세요.

참고 항목

다른 어셈블리가 friend 어셈블리임을 지정할 수 있으며, 이를 통해 Friend로 표시된 모든 형식 및 멤버에 액세스할 수 있습니다. 자세한 내용은 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 문

Delegate 문

Dim 문

Enum 문

Event 문

Function 문

Interface 문

Module 문

Property 문

Structure 문

Sub 문

참고 항목