2012-11-26 3 views
0

WinForm Project에서 작업하고 있습니다. 프로젝트에는 frmGeneric과 frmMain 두 가지 서식이 있습니다. 그들은이를 lile :'WindowsFormsApplication1.frmMain'의 일부 선언이 다른 기본 클래스를 지정하지 않아야합니다.

namespace WindowsFormsApplication1 
{ 
    public partial class frmGeneric 
    { 
    } 
} 


namespace WindowsFormsApplication1 
{ 
    partial class frmMain:frmGeneric 
    { 
    } 
} 

즉 frmMain 수는 frmGeneric에서 유래. 나는이 오류를 얻는 방법과 그것을 해결하기 위해 왜

Partial declarations of 'WindowsFormsApplication1.frmMain' must not specify different base classes C:...\WindowsFormsApplication1\Form1.Designer.cs

어떤 생각이 행에서

:

partial class frmMain:frmGeneric 

나는이 오류가?

+1

'C : ... \ WindowsFormsApplication1 \ Form1.Designer.cs'의 기본 클래스는 무엇입니까? 아마도'Form' 일 뿐이므로 기본 클래스를'frmGeneric'으로 지정해야합니다 –

+1

@HonzaBrestan 아마도 이것을 답으로 게시해야합니다. – ryadavilli

+0

Honza Brestan, 구현 방법에 대해 자세히 설명해주세요. – Michael

답변

2

C:...\WindowsFormsApplication1\Form1.Designer.cs 클래스를 살펴보십시오. frmMain 클래스 정의의 다른 부분이 포함되어 있으며 기본 클래스가 지정되어 있고 다른 클래스가 frmGeneric 인 것 같습니다.

부분 클래스의 경우 기본 클래스를 한 파트에서만 지정하거나 다른 파트의 기본 클래스가 같아야합니다. 여전히 하나의 클래스로 컴파일되기 때문에 둘 이상의 클래스에서 상속 할 수 없습니다.

partial class Form2 : Form1 { ... } // File 1 
partial class Form2 : Form { ... } // File 2 

이 (클래스 이름으로) 경우, 즉하지 있는지 확인 중 :

class Form2 : Form1, Form { ... } 

당신도 가질 수 없습니다 : 같은 이유로

왜 당신은 할 수 없습니다

// File 1 (Form1.cs, probably) 
partial class frmMain : frmGeneric { ... } 

// File 2 (Form1.designer.cs) 
partial class frmMain : frmGeneric { ... } 

나 :

// File 1 (Form1.cs, probably) 
partial class frmMain : frmGeneric { ... } 

// File 2 (Form1.designer.cs) 
partial class frmMain { ... } 
관련 문제