0

私はWinFormプロジェクトに取り組んでいます。プロジェクトには、frmGeneric と frmMain の 2 つのフォームがあります。彼らはこれをだます:

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

部分クラスでは、基本クラスを 1 つの部分でのみ指定するか、他の部分で同じ基本クラスにする必要があります。1 つのクラスにコンパイルされるため、複数のクラスから継承することはできません。

あなたが持つことができないのと同じ理由で:

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 に答える