リストにループすると、リスト内のすべてのアイテムに常に同じ値が表示されます。リスト<dynamic>()。問題を追加するC#
どこが間違っていますか?
ここは私がしたものです。
var DyObjectsList = new List<dynamic>;
dynamic DyObj = new ExpandoObject();
if (condition1)
{ DyObj.Required = true;
DyObj.Message = "Message 1";
DyObjectsList.Add(DyObj); }
if (condition2)
{ DyObj.Required = false;
DyObj.Message = "Message 2";
DyObjectsList.Add(DyObj);
}
......
は興味深いことにDyObjectsList内のすべての項目は、最後に割り当てられたオブジェクトの値に置き換えられます。あなたは(そうでなければ、繰り返し同じインスタンスへの参照を追加/変更している)if
文の本体内に新しいインスタンスをインスタンス化する必要が
同じオブジェクトへの複数の参照の追加。 – asawyer
...同じオブジェクトのプロパティを割り当てると、別のインスタンスが存在すると思われます。 –
ここで提供されているコードのみを手助けすることはできません。このコードだけを考慮すると、1つのオブジェクトの参照がリストに追加されています。このコードの文脈を教えてください。それはループですか?それは機能の一部ですか? –