0

我正在开发 WinForm 项目。在项目中,我有两个 Forms 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

任何想法为什么我会收到此错误以及如何解决它?

4

1 回答 1

2

看看你的C:...\WindowsFormsApplication1\Form1.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 { ... }
于 2012-11-26T21:10:05.290 回答