-1

重複の可能性:
C# でのオブジェクトの複製

私のコード:

private void button1_Click(object sender, EventArgs e)
{
    CopyForm(new Form1());
}

public void CopyForm(Form form)
{
    Form frm = form;
    frm.Text = "1";
    form.Text = "2";

    string c = frm.Text;// out 2
    string c2 = form.Text;// out 2
}

Form からオブジェクトを作成するにはwithout Ref?

最善の方法を教えてください。

編集 :

サンプリングしてください。

4

1 に答える 1

2

Copy ConstructorまたはICloneable の Clone メソッドを使用して Form のコピーを作成できます。

以下に、コピー コンストラクターの簡単な例を示します。独自のフォーム クラスを作成し、そこに copyConstructor メソッドを追加する必要があります。

class MyClonableForm:Form
{

public MyClonableForm(Form oldForm)//Copy Constructor
{
this.Text=oldForm.Text;
//write your clone code here
//be careful with reference types!
}

}

:

インターフェイスの使用はICloneable推奨されません。これは、実行されるクローンのタイプ (ディープまたはシャロー) を指定しないためです。

使用したい場合は、メソッド Clone を公開しないでください。自分の目的のために使用してください。

于 2012-07-31T06:25:37.067 に答える