2009-01-26 6 views
13

클래스가 두 파일에 걸쳐 있습니다. 이들 중 하나가 생성되고 다른 하나는 생성되지 않은 항목이 포함됩니다.asp.net : 부분 클래스 및 상속

클래스를 기본 클래스에서 상속 받기를 원합니다. 두 파일을 모두 상속 받아야합니까? 또는 클래스는 기본 클래스에서 상속하는 경우 생성 foo.vb에서 부분 클래스 중 하나

:

수동으로 생성 foo.vb에서

Partial Public Class Foo Inherits BaseClass

Partial Public Class Foo

그것은 (반사경에서 볼 수 있듯이) 문제가되지 않는 것 같습니다.

누구나 어떻게 작동하는지 설명 할 수 있습니까? 컴파일러는 단순히 두 개를 결합합니까?

+0

큰 질문입니다! –

답변

13

두 가지 중 하나만 상속해야합니다.

부분 클래스는 컴파일러 트릭입니다. 두 파일은 컴파일하기 전에 다시 꿰매어집니다. 즉, 일반 클래스와 마찬가지로 하나의 기본 클래스 만 지정할 수 있습니다.

이있을 수 있습니다 :

partial class one : base {} 
partial class one {} 

이 :

partial class one : base {} 
partial class one : base {} 

만하지이

partial class one : fu {} 
partial class two : bar {} 

마지막 하나에 결합하기 때문에 :

class one : fu, bar {} 
,

이것은 불법입니다. 그러나 일반 클래스처럼 인터페이스를 혼합하고 일치시킬 수 있습니다.