16

私は初心者で、本に従ってエクササイズをしています。以下は私のコードで、私はこれを得ました

"Missing partial modifier on declaration of type 'Windowsform.Form1'; another partial declaration of this type exists".

私は何をすべきか?私のコードは次のとおりです。

using System;
using System.Windows.Forms;

namespace Windowsform
{
    public class Form1 : Form
    {
       private TextBox txtEnter;
       private Label lblDisplay;
       private Button btnOk;

       public Form1()

       {
           this.txtEnter = new TextBox();
           this.lblDisplay = new Label();
           this.btnOk = new Button();
           this.Text = "My Hellowin app!";


           //txtEnter
           this.txtEnter.Location = new System.Drawing.Point(16, 32);
           this.txtEnter.Size = new System.Drawing.Size(264, 20);

           //lblDisplay
           this.lblDisplay.Location = new System.Drawing.Point(16, 72);
           this.lblDisplay.Size = new System.Drawing.Size(264, 128);

           //btnOK
           this.btnOk.Location = new System.Drawing.Point(88, 224);
           this.btnOk.Text = "OK";
           this.btnOk.Click +=
               new System.EventHandler(this.btnOK_Click); 

           //MyForm
           this.Controls.AddRange(new Control[] {
                            this.txtEnter, this.lblDisplay, this.btnOk});

       }

       static void Main()
       {
           Application.Run(new Form1());
       }

       private void btnOK_Click(object sender, System.EventArgs e)
       {
           lblDisplay.Text = txtEnter.Text + "\n" + lblDisplay.Text;
       }
    }
}
4

6 に答える 6

36

Form1別の場所で、同じ名前 ( )のクラスを宣言し、partial修飾子で宣言しています。

クラスを 2 つの異なるファイル (たとえば、UI レイアウト用のこのファイルとロジック用の別のファイル) に分割する場合はpartial、宣言に修飾子を追加するだけです。

public partial class Form1
{
}
于 2012-10-12T20:15:52.507 に答える
5

新しいフォームを作成すると、実際には 2 つの別々の場所に作成されます。クラスが宣言されている 1 つの場所は、すべての配管が実装されている場所であり、すべての機能を記述するためにここに貼り付けたファイルです。これを可能にするために、c# には部分クラス機能があります。アセンブリのどこかでクラスが部分修飾子で定義されている場合、その修飾子がある限り、クラスの複数の宣言を定義できます。

詳しくは msdn で

于 2012-10-12T20:23:39.567 に答える
0

これについては完全に間違っているかもしれませんが、MVC3 と EF4 で同じエラー (およびそれ以上) が発生していました。1 日かそこら頭を机にぶつけた後、最終的に MVC4 にアップグレードすることにしました。面白いことに、私のエラーはすべてなくなりました。

アップグレードする前に、重複した宣言を見つけるために 100 回の検索を行ったに違いありません。

MVC4 と EF4 を組み合わせると、よりうまく機能するようです。

于 2015-03-24T08:15:58.920 に答える