我创建了一个属性为String的对象,另一个是List<String>
。 我也创建了一个static List<MyObject>
,我添加了所有的对象。 现在我的问题是第二个属性被覆盖。自己的类对象属性被取代
比如我有3个对象:
Object1: "Name"; List with 3 Strings
Object2: "Name2"; List with 2 Strings
Object3: "Name3"; List with 5 Strings
如果我现在将它们添加到我的对象列表,它看起来像这样
Name; List with 5 Strings
Name2; List with 5 Strings
Name3; List with 5 Strings
它重写第二个属性中的所有其他对象列表。
代码:
for (int i = 0; i < 100; i++)
{
if (elo.ReadObjMask(i) > 0)
{
var iRet = elo.PrepareObjectEx(0, 0, i);
maskenname = elo.ObjMName();
if (maskenname != "")
{
for (int e = 0; e < 50; e++)
{
string eigenschaft = elo.GetObjAttribName(e);
if (eigenschaft != "" && eigenschaft != "-")
{
eigenschaften.Add(eigenschaft);
}
}
allMasks.Add(maskenname);
}
else
{
// Do nothing
}
EloMask emask = new EloMask(maskenname, eigenschaften);
staticVariables.allMask.Add(emask);
eigenschaften.Clear();
}
}
这里是我的对象类:
public class EloMask
{
public string name;
public List<String> eigenschaften;
public EloMask(string iname, List<String> ieigenschaften)
{
name = iname;
eigenschaften = ieigenschaften;
}
}
你需要指定你的“对象”类和你如何实例化后,加入到静态列表中的代码。 – Thangadurai
staticVariables.allMask.Add(emask);在这部分我将它添加到我的静态列表 – saamii
我相信: EloMask emask = new EloMask(maskenname,eigenschaften); 传递eigenschaften作为参考,所以当它被改变时,所有其他人。 您需要在写入之前启动列表的新实例。 eigenschaften =新列表; –