2010-08-25 5 views
9

sealed 클래스에 대해 partial 클래스 파일을 만들 수 있습니까?봉인 된 부분 클래스

+12

시도해 보셨습니까? –

+1

Visual Studio를 열고 사용해보십시오. –

+0

클래스의 파티션간에 여러 파일과 상속 관계가 없으므로 제 생각에는 그렇습니다.하지만 제이가 시도한대로 –

답변

4

잘 컴파일 된 것 같습니다.

sealed partial class Class1 
{ 
    public void MyMethod() { } 
} 

partial class Class1 
{ 
    public void MyMethod2() { } 
} 
+0

이 답변은 클래스의 서명이 컴파일시 병합되므로 더 유익하다고 생각합니다. 따라서 봉인 된 부품 하나만 지정하면 충분합니다. 수업이 봉인되었는지 확인하려면 모든 부분을 확인해야합니다. – Maxim

1

예. 봉인 된 클래스는 상속을 차단합니다. 부분 클래스는 상속되지 않습니다. 컴파일하자마자 한 클래스에 병합됩니다.

21

sealed 키워드는 단순히 클래스를 상속받을 수 없음을 의미합니다. 클래스의 코드가 어떻게 구조화되는지는 영향을 미치지 않습니다. partial 키워드를 사용하면 클래스를 여러 파일로 분할 할 수 있습니다.

아래 샘플에서 클래스 A는 정상적으로 컴파일됩니다. A가 봉인되고 상속이 허용되지 않아 B가 컴파일되지 않습니다.

public sealed partial class A { private int x; } 

public sealed partial class A { private int y; } 

public class B : A { } 
+0

분할 파일에서 하나의 클래스 정의가 partial으로 표시되고 다른 클래스 정의가 아닌 경우 어떻게됩니까? 우선 순위는 무엇입니까? –

+2

우선 순위 없음 컴파일러 오류가 발생합니다. –

1

예 봉인 된 부분 클래스를 만들 수 있습니다.

예 : 공용 봉인 부분 클래스 직원