'WindowsFormsApplication1.frmMain'的部分声明不得指定不同的基类



我正在研究WinForm项目。在项目中,我有两个表单 frmGeneric 和 frmMain。他们说:

namespace WindowsFormsApplication1
{
   public partial class frmGeneric
   {
   }
 }

namespace WindowsFormsApplication1
{
   partial class frmMain:frmGeneric  
   {
   }
}

即 frmMain 源自 frmGeneric。

在此行上:

partial class frmMain:frmGeneric 

我收到此错误:

'WindowsFormsApplication1.frmMain' 的部分声明不得指定不同的基类 C:...\WindowsFormsApplication1\Form1.Designer.cs

知道为什么我会收到此错误以及如何解决它吗?

看看你的C:...WindowsFormsApplication1Form1.Designer.cs类内部。它包含frmMain类定义的另一部分,似乎它还指定了一个基类,并且是另一个比您的frmGeneric

对于分部类,您只能在一个部分中指定基类,或者在其他部分中指定相同的基类。因为它仍然被编译成一个类,所以你不能从多个类继承。

出于同样的原因,您不能拥有:

class Form2 : Form1, Form { ... }

您也不能拥有:

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

确保不是这种情况,即(使用您的类名)要么:

// 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 { ... }

最新更新