ConcurrentDictionary を作成しましたが、その要素を更新する方法がわかりません。
public class ModelClient : ICloneable
{
public Session session;
public List<string> keys = new List<string>();
public List<ModelOrder> orders = new List<ModelOrder>();
public ModelClient(SessionID sessionID)
{
session = Session.LookupSession(sessionID);
}
public object Clone() { return this.MemberwiseClone(); }
}
public class ModelOrder : ICloneable
{
private string Symbol;
private int Amount;
private double Price;
public ModelOrder(string Symbol, int Amount, double Price)
{
this.Symbol = Symbol;
this.Amount = Amount;
this.Price = Price;
}
public object Clone() { return this.MemberwiseClone(); }
}
public ConcurrentDictionary<SessionID, ModelClient> ModelClients = new ConcurrentDictionary<SessionID, ModelClient>();
ここで (注文に新しい要素を追加して) 更新する必要があります。TryUpdate を使用する必要があるようですが、非常に面倒で読みにくいようです。
誰か良い方法を教えてください。
public bool AddModelClientOrder(SessionID sessionID, string orderMessage)
{
string[] part = orderMessage.Split(' ');
//HOW DO I BEST DO THIS?
ModelClients[sessionID].orders.Add(new ModelOrder(part[0], int.Parse(part[1]), double.Parse(part[2])));
}