可能重复:
Cloning objects in 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
}
如何从表单without Ref
创建对象?
请告诉我最好的方法。
编辑:
请抽样。
答案 0 :(得分:2)
您可以使用Copy Constructor或使用ICloneable's Clone method来填写表单。
以下是Copy Constructor的一个简单示例。您需要创建自己的表单类并向其添加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
接口,因为它没有指定执行的克隆类型,即深度或浅度。
如果您确实想要使用它,您可以但不要公开公开克隆方法。请将它用于您自己的目的!