C\#중 분 부 클래스 와 분 부 방법의 응용

지부 클래스(Partial Class)는 C\#2.0 에 도입 되 고,지부 방법(Partial Method)은 C\#3.0 에 도입 된다.이 두 문법 적 특성 은 모두 같은 특성 을 가지 고 있다.클래스(또는)방법의 코드 를 여러 곳 에 분산 시킨다.
1.부문 별 특성 및 응용
1.1 분류 정의
클래스 를 정의 할 때 partial 키 워드 를 추가 하면 클래스 가 됩 니 다.
분 류 는 하나의 종류의 코드 를 하나의 이상 의 소스 코드 파일 에 분산 시 킬 수 있 습 니 다.
Person.cs 코드 는 다음 과 같 습 니 다

namespace PartialClassDemo1
 {
     public partial class Person
     {
         private int age;
         Person(int age, string name)
         {
             this.age = age;
             this.name = name;
         }
         public int Age
         {
             get
             {
                 return age;
             }
             set
             {
                 if (age < 0 || age > 120)
                     Console.WriteLine(" ");
                 else
                     this.age = Age;
             }
         }
         static void Main(string[] args)
         {
             Person p = new Person(19," ");
             Console.WriteLine(p.Age);
             Console.ReadKey();
         }
     }
 }
Person 2.cs 코드 는 다음 과 같 습 니 다

namespace PartialClassDemo1
{
    public partial class Person
    {
        private string name;
    }
}
.
(1)'합병'이 필요 한 모든 종 류 는 partial 키워드 로 설명 해 야 합 니 다.
(2)모든'합병'이 필요 한 종 류 는 같은 항목 에 있어 야 합 니 다.
2.왜 지부 류 를 도입 하 는가
분 류 는 주로 격 리 소스 가 다 르 고 기능 이 다 르 거나 유형 이 다른 소스 코드 에 사용 된다.
 또한 분포 특성 은 도구 구조 와 인터페이스 도 사용 할 수 있다.
3.분포 방법의 특성 과 응용
분포 방법 은 방법 설명 과 방법 을 서로 다른 파일 에 분포 할 수 있 도록 합 니 다.부문 별 클래스 와 유사 하 며,partial 키 워드 를 사용 하여 부문 별 방법 을 정의 합 니 다.

       partial void show(string str);
        partial void show(string str)
        {
            Console.WriteLine(str+" ");
        }
분포 방법 은 접근 수정자 나 virtual,abstract,override new sealed 또는 extern 수정자 가 있어 서 는 안 된다.
partial 수식 자 는 class struct interface void 앞 에 만 나타 날 수 있 습 니 다.
 지부 방법 이 코드 를 실현 하지 못 했 을 때 C\#컴 파일 러 는 컴 파일 할 때 호출 문 구 를 삭제 합 니 다.
이제 우 리 는 지부 방법 에 이런 특성 이 있다 는 것 을 알 게 되 었 는데,그것 이 무슨 소 용이 있 습 니까?
분부 방법 을 사용 하면 일반적인 방법 에 자리 표시 자 를 삽입 하여 수시로 기능 을 추가 할 수 있 는 방법 을 만 드 는 데 지원 할 수 있 습 니 다.
지부 방법 은 여러 가지 실현 이 있 을 수 없다.

좋은 웹페이지 즐겨찾기