다음을 통해 공유


Friend(Visual Basic)

선언된 하나 이상의 프로그래밍 요소는 선언이 포함된 어셈블리 내에서만 액세스할 수 있도록 지정합니다.

비고

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

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

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

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

비고

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

비교 및 다른 액세스 한정자는 Visual Basic의Friend 액세스 수준을 참조하세요.

비고

다른 어셈블리가 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 문

선언문

대리인 문

Dim 문

Enum 문

이벤트 문서

Function 문

Interface 문

모듈 선언

Property 문

구조문

Sub 문

참고하십시오