내부 대 개인 액세스 수정 자
C #에서 액세스 수정 자 internal
와 private
액세스 수정 자의 차이점은 무엇입니까 ?
internal 은 어셈블리 범위를위한 것입니다 (예 : 동일한 .exe 또는 .dll의 코드에서만 액세스 가능)
private 은 클래스 범위를위한 것입니다 (예 : 동일한 클래스의 코드에서만 액세스 가능).
아래에서 설명을 찾으십시오. 자세한 내용은이 링크를 확인하십시오-http: //www.dotnetbull.com/2013/10/public-protected-private-internal-access-modifier-in-c.html
개인 : -개인 회원은 자신의 유형 (자체 클래스) 내에서만 액세스 할 수 있습니다.
내부 : -내부 멤버는 상속 (파생 유형) 또는 클래스 인스턴스를 통해 어셈블리 내에서만 액세스 할 수 있습니다.
참고 :
dotnetbull-C #의 액세스 수정 자란 무엇입니까
internal
멤버는 선언 된 어셈블리의 모든 코드에서 볼 수 있습니다
(및 [InternalsVisibleTo]
속성을 사용하여 참조 된 다른 어셈블리 ).
private
멤버는 선언 클래스에만 표시됩니다. (중첩 클래스 포함)
외부 (중첩되지 않은) 클래스는 private
전용으로 만들 범위가 없으므로 선언 할 수 없습니다 .
물어 보지 않은 질문에 대답하기 위해 protected
멤버는 private
멤버와 비슷하지만 선언 유형을 상속하는 모든 클래스에서도 볼 수 있습니다. (그러나 적어도 현재 클래스 유형의 표현식에서만)
개인 멤버는 클래스 본문 또는 선언 된 구조체 내에서만 액세스 할 수 있습니다.
내부 유형 또는 멤버는 동일한 어셈블리의 파일 내에서만 액세스 할 수 있습니다
개인 -클래스 / 범위 / 구조체의 캡슐화 '.
내부 -어셈블리의 캡슐화.
Internal을 사용하면 여러 비즈니스 로직 클래스간에 데이터 액세스 정적 클래스 (스레드 안전성을 위해)를 참조하면서 연결 풀에서 해당 클래스 / 트립을 서로 상속하도록 상속하지 않고 궁극적으로 DAL 클래스를 허용하지 않도록 할 수 있습니다. 공공 수준에서 액세스를 촉진합니다. 이것은 디자인과 모범 사례에서 수많은지지를 가지고 있습니다.
Entity Framework는 이러한 유형의 액세스를 잘 활용합니다.
참고 URL : https://stackoverflow.com/questions/3813485/internal-vs-private-access-modifiers
'Programing' 카테고리의 다른 글
Git에서 어떤 커밋을 가리키는 지 어떻게 알 수 있습니까? (0) | 2020.02.26 |
---|---|
비어 있거나 null JSTL c 태그 평가 (0) | 2020.02.26 |
Go에 파일이 있는지 확인하는 방법 (0) | 2020.02.26 |
Android Spinner : 선택한 항목 변경 이벤트 가져 오기 (0) | 2020.02.26 |
Java에서 jsonString을 JSONObject로 변환하는 방법 (0) | 2020.02.26 |