これは開いているクラスを参照する必要があるリストです。新しいオブジェクトをリストに追加すると、すでに追加されているすべてのオブジェクトが上書きされます
readonly List<object> openedClasses = new List<object>();
ここでは、クラスを作成してリストを追加します。
var employees = myWs.ReturnListEmployee(guid);
foreach (Api.EmployeeData employee in employees)
{
openedClasses.Add(new MyClass(pendingSchedules[0], employee));
}
私のクラスとそのコンストラクタ:
class MyClass
{
public Schedule schedule;
public MyClass(Schedule schedule, Api.EmployeeData employee)
{
// the "schedule.EmployeeData" it is constantly changed
this.schedule = schedule;
this.schedule.EmployeeData = employee;
}
}
私の問題は、次のとおりです。すべてのforeachループの前にリストに追加されたすべての値は、最も最近追加されたクラスによって上書きされます。
私はインターネット上で見つけたすべてのソリューションを試してみました。クラスは静的ではなく、静的メソッドと静的フィールドをそれぞれ削除しました。 "オブジェクト"のリストと "MyClass"のリストとして読み込み専用の有無で作成しました。
openedClasses.Add(new MyClass(pendingSchedules[0], employee));
とと::で
var myClass = new MyClass(pendingSchedules[0], employee);
openedClasses.Add(myClass);
すべて 'インスタンスは同じ' Schedule'オブジェクトを参照しているので、毎回誰かがその 'EmployeeData'プロパティを設定MyClass'、他のすべてのインスタンスは、あまりにも –