Programing

내부 대 개인 액세스 수정 자

lottogame 2020. 2. 26. 07:38
반응형

내부 대 개인 액세스 수정 자


C #에서 액세스 수정 자 internalprivate액세스 수정 자의 차이점은 무엇입니까 ?


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



반응형