Partial Class를 계층적으로 보이게 하는법

 

 

예로 frmTest라는 WinForm을 프로젝트에 추가하면

frmTest.cs frmTest.designer.cs frmTest.resx 파일이 생성된다.

 

구조는 다음과 같이 생성된다.

 

그럼 frmTest에 또 다른 partial class frmTest.mypartial.cs를 만들어 보자

만들면 다음과 같은 코드가 만들어 진다.

 

class frmTest
{
}

 

 

아래와 같이 만들면 frmTest의 partial class 가 된다.

public partial class frmTest
{

}

 

 

그래도 문제는 남아 있다 .

다음과 같이 함께 묶여 있지 않다.

 

test.csproj 파일을 열어보면 다음과 같다.

<Compile Include="frmTest.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmTest.Designer.cs">
<DependentUpon>frmTest.cs</DependentUpon>
</Compile>
<Compile Include="frmTest.mypartial.cs">
<SubType>Form</SubType>
</Compile>

 

 

아래와 같이 바꾸고 새롭게 로드하면

<Compile Include="frmTest.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmTest.Designer.cs">
<DependentUpon>frmTest.cs</DependentUpon>
</Compile>
<Compile Include="frmTest.mypartial.cs">
<DependentUpon>frmTest.cs</DependentUpon>
</Compile>

 

 

제대로 된 모양의 partial class 모양이 나온다.

 

frmTest.mypartial.cs 는 frmTest의 모든 변수를 사용할 수 있다.

가끔 사용하는 아주 유요한 partial 이다.

[출처] partial class를 계층적으로 보이게 하는 방법|작성자 길상

자, 프로젝트를 만듭니다.

프로젝트명 : PartialLesson

추가한클래스 : TestClass

 

Partial 이란, 부분이라는 뜻이지요. 즉, 클래스의 부분만 정의한다는 뜻입니다.

아래와 같이 기본적인 클래스에...

 

Partial 이란 키워드를 붙여줍니다.

테스트를 위해 alpha 라는 필드를 만들어주었답니다 ~_~

그리고, 메인으로 와서요 ㅇㅅㅇ...!

위에, 역시 같은 이름으로 partil class TestClass 라고 만들어주었어요 ㅇㅅㅇ...

아래와 같이 메소드를 구현했는데요.

이 자체에는 alpha 라는 녀석이 없습니다.

alpha 는 다른 쪽에 있지요. 그래도 이 둘을 별개로 구분하지 않고, 같은 것으로 쳐서 에러가 나지 않습니다.

이렇게 partial 키워드를 쓰면, 따로따로 띄어서 클래스를 만들 수 있답니다.

허용 범위는 "컴파일이 한번에 진행되는 모든 곳..!"이랍니다.

여러 인원이 작업을 할 때 한 거대한 클래스가 있다면, 분담해서 작업할 때 쓰면 좋겠지요 ~_~

테스트를 해봅시다. 인스턴스를 만들구요 ~

실행시켰습니다. ㅇㅅㅇ... 간단하죠 ?

이렇게.. 오늘 강의 종료 OTL...

 

 

+ Recent posts