다음을 통해 공유


접근성 수준(C# 참조)

액세스 한정자를 publicprotectedinternal사용하거나 private 멤버에 대해 선언된 다음 접근성 수준 중 하나를 지정합니다.

선언된 접근성 의미
public 액세스는 제한되지 않습니다.
protected 액세스는 포함하는 클래스 또는 포함하는 클래스에서 파생된 형식으로 제한됩니다.
internal 액세스는 현재 어셈블리로 제한됩니다.
protected internal 액세스는 현재 어셈블리 또는 포함하는 클래스에서 파생된 형식으로 제한됩니다.
private 액세스는 포함하는 형식으로 제한됩니다.
private protected 액세스는 현재 어셈블리 내의 포함하는 클래스에서 파생된 포함하는 클래스 또는 형식으로 제한됩니다.

최상위(중첩되지 않은) 형식은 파일 한정자를 사용할 수 있습니다. 한 file 정자는 동일한 소스 파일의 코드에 대한 액세스를 제한합니다. 한정자를 액세스 한정자와 결합 file 할 수 없습니다.

멤버 또는 형식에 대해 하나만 액세스 한정자를 사용합니다 protected internal ( 사용 시 또는 private protected 조합을 사용하는 경우 제외).

네임스페이스에서 액세스 한정자를 사용하지 마세요. 네임스페이스에는 액세스 제한이 없습니다.

멤버 선언이 발생하는 컨텍스트에 따라 특정 선언된 액세스 권한만 허용됩니다. 멤버 선언에서 액세스 한정자를 지정하지 않으면 기본 접근성이 사용됩니다.

다른 형식에 중첩되지 않은 최상위 형식은 접근성만 가질 internalpublic 수 있습니다. 이러한 형식의 기본 접근성은 .입니다 internal.

다른 형식의 멤버인 중첩 형식은 다음 표에 표시된 대로 선언된 액세스 권한을 가질 수 있습니다.

의 멤버 기본 멤버 접근성 멤버의 허용된 선언된 접근성
enum public 없음
class private public

protected

internal

private

protected internal

private protected
interface public public

protected

internal

private*

protected internal

private protected
struct private public

internal

private

* 접근성이 interface 있는 private 멤버에는 기본 구현이 있어야 합니다.

비고

키워드 한정자를 사용하여 클래스 또는 구조체를 record 수정하는 경우 동일한 액세스 한정자를 사용합니다. 또한 한정자를 사용하면 record 클래스와 구조체 모두에 대한 기본 멤버 접근성이 계속 private 제공됩니다.

중첩된 형식의 접근성은 멤버의 선언된 접근성과 즉시 포함된 형식의 접근성 도메인이 결정하는 접근성 도메인에 따라 달라집니다. 그러나 중첩된 형식의 접근성 도메인은 포함하는 형식의 액세스 가능성 도메인을 초과할 수 없습니다.

C# 언어 사양

자세한 내용은 C# 언어 사양을 참조하세요. 언어 사양은 C# 구문 및 사용의 최종 소스입니다.

참고하십시오