0
我有類Attribut和值。我不知道如何克隆列表中的項目值。C#如何克隆列表列表
public class Attribut : ICloneable
{
public Attribut()
{ }
public Attribut(List<Values> value)
{
this.Values = value;
}
public object Clone()
{
return this.MemberwiseClone();
}
//other members
List<Values> values = new List<Values>();y
public List<Values> Values
{
get { return values; }
set { values = value; }
}
}
[Serializable]
public class Values : ICloneable
{
public Values()
{
}
public Values(string name)
{
this.Name = name;
}
public Values(string name, int count)
{
this.Name = name;
this.Count = count;
}
public object Clone()
{
return this.MemberwiseClone();
}
string name;
int count = 0;
public int Count
{
get { return count; }
set { count = value; }
}
public string Name
{
get { return name; }
set { name = value; }
}
}
我有問題克隆值時,我把這種方法(attrList)是全球性的變量) 當我添加新的值到列表中,相同的值也被添加在attrList。
private List<Attribut> getSelectedColumns()
{
List<Attribut> list = new List<Attribut>();
for (int i = 0; i < listView1.Items.Count; i++)
{
if (listView1.Items[i].Checked == true)
{
list.Add((Attribut)attrList[i].Clone());
for(int j= 0; j < attrList[i].Values.Count;j++)
{
list[j].Values.Add((Values)attrList[i].Values[j].Clone());
}
}
}
你的克隆方法是如何定義的? – 2013-04-10 21:34:35
你到底在做什麼?我無法想象它應該是這麼難。 – 2013-04-10 21:42:39
方法在類外觀代碼中定義。我有插件應用程序,我需要發送metada插件。在attrList都是元數據,並在列表被選中metadata.And我在插件 –
Sejnt
2013-04-10 23:28:41