산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C# 부분 클래스 및 부분 메서드

C# 부분 클래스 및 부분 메서드

이 기사에서는 C#에서 부분 클래스와 부분 메서드를 구현하는 방법과 이유에 대해 알아볼 것입니다.

대규모 프로젝트에서 작업할 때 여러 개발자와 프로그래머가 같은 클래스에서 동시에 작업해야 하는 경우와 같이 클래스 정의를 분할해야 하는 상황이 많이 있습니다. 이 경우 Partial Class라는 기능을 사용할 수 있습니다. .

<시간>

부분 수업 소개

C#(또는 OOP)으로 프로그래밍하는 동안 클래스 정의를 둘 이상의 소스 파일로 분할할 수 있습니다. 소스 파일에는 클래스 정의 섹션이 포함되어 있으며 모든 부분은 응용 프로그램이 컴파일될 때 결합됩니다. 클래스 정의를 분할하려면 partial를 사용해야 합니다. 키워드.

예시 1:

HeightWeightInfo이라는 프로젝트가 있습니다. 키와 몸무게를 보여줍니다.

File1.cs이라는 파일이 있습니다. Record라는 이름의 부분 클래스 사용 . 두 개의 정수 변수 h가 있습니다. &wRecord라는 이름의 메소드/생성자 h 값을 할당하는 것입니다. &w .

namespace HeightWeightInfo
{
    class File1
    {
    }
    public partial class Record
    {
        private int h;
        private int w;
        public Record(int h, int w)
        {
            this.h = h;
            this.w = w;
        }
    }
}

다음은 동일한 부분 클래스가 Record인 File2.cs라는 다른 파일입니다. PrintRecord 메서드만 있습니다. . 이 메서드는 h 값을 표시합니다. &w .

namespace HeightWeightInfo
{
    class File2
    {
    }
    public partial class Record
    {
        public void PrintRecord()
        {
            Console.WriteLine("Height:"+ h);
            Console.WriteLine("Weight:"+ w);
        }
    }
}

이제 main을 볼 수 있습니다. 프로젝트 방법:

namespace HeightWeightInfo
{
    class Program
    {
        static void Main(string[] args)
        {
            Record myRecord = new Record(10, 15);
            myRecord.PrintRecord();
            Console.ReadLine();
        }
    }
}

여기에 Record 클래스의 객체가 있습니다. myRecord로 매개변수 값을 10 및 15로 h에 전달합니다. 및 w File1.cs에 정의된 메소드에 각각 .

PrintRecord 메소드 myRecord 개체에 의해 호출됩니다. File2.cs에 정의되어 있습니다. .

이것은 partial 키워드는 다양한 파일에 정의된 클래스의 모든 속성을 결합하여 단일 클래스로 작동하는 데 도움이 됩니다.

partial 위치 클래스를 사용할 수 있습니다.

  1. 두 명 이상의 개발자와 함께 대규모 프로젝트를 진행하는 동안 개발자가 같은 클래스에서 동시에 작업하는 데 도움이 됩니다.
  2. IDE(예:Visual Studio)에서 자동으로 생성되는 소스 파일을 다시 생성하지 않고도 코드를 클래스에 추가하거나 수정할 수 있습니다.
<시간>

부분 수업에 대해 기억해야 할 사항

partial 키워드는 클래스의 다른 부분이 네임스페이스에서 정의될 수 있음을 지정합니다. 클래스를 부분적으로 만들려는 경우 부분 키워드를 사용하는 것이 필수입니다. 클래스의 모든 부분은 동일한 네임스페이스에 있어야 하며 최종 유형을 형성하기 위해 컴파일 시간에 사용할 수 있어야 합니다. 모든 부분에는 private, public 등의 동일한 액세스 수정자가 있어야 합니다.

**참고: partial 대리자 또는 열거형 선언에서는 수정자를 사용할 수 없습니다.

<시간>

부분 방법 소개

부분 클래스에는 부분 메서드가 포함될 수 있습니다. 클래스의 한 부분에는 메서드의 서명이 포함되어 있습니다. 선택적 구현은 동일한 부분 또는 다른 부분에서 정의될 수 있습니다. 구현이 제공되지 않으면 컴파일 타임에 메서드와 모든 호출이 제거됩니다.

예시 2:

부분 클래스 Car로 예를 들어 보겠습니다. file1.cs에 정의됨 InitializeCar의 세 가지 방법이 있습니다. (), 빌드림 () 및 BuildWheels (). 그 중 InitializeCar partial로 정의됩니다. .

public partial class Car
{
    partial void InitializeCar();
    public void BuildRim() { }
    public void BuildWheels() { }
}

그리고 file2.cs라는 다른 파일이 있습니다. BuildEngine 메소드가 두 개 있습니다. 및 InitializeCar . InitializeCar 메소드 file1.cs에도 정의된 부분 메서드입니다. .

public partial class Car
{
    public void BuildEngine() { }
    partial void InitializeCar()
    {
        string str = "Car";
    }
}

부분 메서드 선언은 다음 두 부분으로 구성됩니다.

  1. file1.cs의 정의 .
  2. file2.cs과 같은 구현 .

그들은 partial 클래스의 별도 부분에 있거나 같은 부분에 있을 수 있습니다.

<시간>

부분 방법에 대해 기억해야 할 사항


C 언어

  1. C# 클래스 및 개체
  2. C# 추상 클래스 및 메서드
  3. C# 봉인된 클래스 및 메서드
  4. C++ 클래스 및 개체
  5. C++ friend 함수 및 friend 클래스
  6. 자바 - 객체와 클래스
  7. C# - 상속
  8. C# - 다형성
  9. ASTM A729 클래스 A 이중 정규화 및 강화
  10. ASTM A649 클래스 2 정규화 및 강화