属性Stringを持つオブジェクトを作成しました。もう1つはList<String>
です。 私はstatic List<MyObject>
を作成しました。ここで私はすべてのオブジェクトを追加します。 今、私の問題は、2番目の属性がオーバーライドされています。例えば独自のクラスオブジェクト属性がオーバーライドされます
私は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 = newリスト; –