我在C#(ver 4.0)
中处理Windows窗体应用程序我想复制CheckedListBox,但不是作为参考。我希望CheckedListBox中的每个更改都不应该影响我的对象,只需分配一次,然后不引用。
以下是我的代码:
public struct SmartFilter
{
public int from, to;
public CheckedListBox cmb;
}
var temp = new SmartFilter();
temp.from = Convert.ToInt32(cbNumber2From.SelectedItem);
temp.to = Convert.ToInt32(cbNumber2To.SelectedItem);
temp.cmb = cbNumbers2;
当我到达最后一行
temp.cmb = cbNumbers2;
我想在temp.cmb
(CheckedListBox)中保存副本,但之后窗口中的每个更改都会影响我的对象。
答案 0 :(得分:3)
基本上你不能 - CheckedListBox
不可克隆。
您希望它如何运作?这是一个屏幕控制...你希望克隆没有父窗口,而不是在屏幕上?你感兴趣的CheckedListBox
有多少状态?也许你应该只复制那个方面而不是整个CheckedListBox
。
作为旁注,可变结构几乎总是一个坏主意,公共领域也是如此。