我正在研究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 { ... }