02-25 클래스 구성원의 접근 권한 - 인터넷

3930 단어 intern
C#에는 또 하나의 접근성이 있는데 바로 키워드 인터넷이 정한'내부'접근성이다.
인터넷은 약간 퍼블릭과 같아서 외부 클래스도 인터넷으로 성명된 클래스나 클래스의 구성원을 직접 방문할 수 있지만 이것은 같은 프로그램 집합 내부에만 국한된다.
프로그램 집합을 간단하게 하나의 독립된 것으로 이해할 수 있다.DLL 또는.EXE의 파일, 한 Dll 또는 Exe 파일에 여러 개의 클래스가 있을 수 있으며, 만약 어떤 클래스가 같은 프로그램에 집중된 클래스에 접근할 수 있지만 다른 프로그램에 집중된 클래스가 접근할 수 없다면, 이를 인터넷 접근성을 가진다고 한다.
예를 들어 어떤 라이브러리 항목은 하나의 독립된 프로그램 집합을 생성할 수 있다. (프로그램이 컴파일한 후에.DLL을 생성한 것으로 가정하고, 두 개의 클래스 A와 B를 정의한다.)
 1 namespace _20141212jicheng

 2 {

 3    internal class A

 4     {

 5        internal int InternalI = 0;

 6     }

 7    public class B

 8    {

 9        public void f()

10        {

11            A a = new A();

12            a.InternalI = 100;

13        }

14    }

15 }

클래스 B와 클래스 A는 같은 프로그램 집합에 속하기 때문에 클래스 B의 코드는 A의 대상을 만들고 A의 성명이 인터넷이라는 구성원인 인터넷I에 접근할 수 있다.
이 프로그램 집합 이외에 외부에서는 퍼블릭으로 성명된 클래스 B의 대상만 만들 수 있고 인터넷으로 성명된 클래스 A의 대상은 만들 수 없습니다.
internal은 C#의 기본 접근성입니다. 이것은 특정한 클래스에 접근성 키워드가 앞에 없으면 internal입니다.
예를 들어 위의 클래스 A는 다음과 같이 쓸 수 있다.
 class A

    {

       internal int InternalI = 0;

    }

그는 완전히 같다
 internal class A

    {

       internal int InternalI = 0;

    }

[주의] 클래스에서 구성원의 접근 가능한 키워드를 생략하면 기본값은private입니다.
예를 들면 다음과 같습니다.
class A

    {

        int InternalI = 0;//  private

    }

... 에 상당하다
 internal class A

    {

       private int InternalI = 0;

    }

좋은 웹페이지 즐겨찾기