C # 클래스 및 멤버 (필드, 메서드 등)에 대한 기본 가시성
C #의 다양한 측면에 대한 기본 가시성에 대한 참조를 찾으려고합니다. 클래스 타입, 필드, 메소드, 열거 형 등
누군가 기본 목록과 함께이 목록을 제공 할 수 있습니까 (예 : 접두사 수정 자 없음)?
찾고있는 모든 정보는 여기 와 여기 에서 찾을 수 있습니다 ( Reed Copsey에게 감사드립니다 ).
첫 번째 링크에서 :
네임 스페이스 내에서 직접 선언 된 클래스와 구조체 (즉, 다른 클래스 나 구조체 내에 중첩되지 않은 클래스)는 공개 또는 내부 일 수 있습니다. 액세스 수정자가 지정되지 않은 경우 내부가 기본값 입니다.
...
중첩 클래스 및 구조체를 포함하여 클래스 멤버 및 구조체 멤버 의 액세스 수준은 기본적으로 비공개 입니다.
...
인터페이스는 기본적으로 내부 액세스입니다.
...
대의원 은 수업과 구조체처럼 행동합니다. 기본적 으로 네임 스페이스 내에서 직접 선언되면 내부 액세스 권한이 있고 중첩시 개인 액세스 권한이 있습니다 .
두 번째 링크에서 :
다른 유형에 중첩되지 않은 최상위 유형 은 내부 또는 공개 액세스 가능성 만 가질 수 있습니다. 이러한 유형 의 기본 접근성은 internal 입니다.
그리고 중첩 유형의 경우 :
기본 멤버 접근성 멤버 ---------- ---------------------------- 열거 형 공개 개인 수업 공용 인터페이스 개인 구조
MSDN에서 :
최상위 유형의 다른 유형에 중첩되지 않은, 단지 수 있습니다 internal
또는 public
접근성. 이러한 유형의 기본 접근성은 internal
입니다.
다른 유형의 멤버 인 중첩 유형 은 다음 표에 표시된대로 접근성을 선언 할 수 있습니다.
출처 : 접근성 수준 (C # 참조) (12 월 (6) 일 , 2017)
기본적으로 클래스의 액세스 수정자는입니다 internal
. 즉, 동일한 어셈블리 내에서 클래스에 액세스 할 수 있습니다. 그러나 다른 어셈블리에서 클래스에 액세스하려면 공개해야합니다.
기본적으로입니다 private
. 중첩되지 않는 한 클래스는 internal
입니다.
'IT' 카테고리의 다른 글
컬렉션이나 스트림을 반환해야하나요? (0) | 2020.06.11 |
---|---|
python : 스크립트 작업 디렉토리를 스크립트 자체 디렉토리로 변경하십시오. (0) | 2020.06.11 |
Java String은 몇 개의 문자를 가질 수 있습니까? (0) | 2020.06.11 |
FUN 내에서 lapply 인덱스 이름에 액세스 (0) | 2020.06.11 |
Canvas의 컨텍스트를 얻는 것과 동등한 jQuery (0) | 2020.06.11 |