0

基本的なことをしようとしていて、行き詰まっています。モデルクラスで観察可能なコレクションを初期化したい (以下のコードを参照) が、うまく動作しないようです。動作していない部分に_を入れました。

誰かがポインタを提供してもらえますか

public class StockModel : ObservableCollection<KeyValuePair<string, TickerDetails>>
{
    #region Properties
    public string TickerSymbol { get; set; }
    public TickerDetails Ticker { get; set; }
    #endregion

    public StockModel()
    {
        init();   
    }

    public void init()
    {
        Add(new KeyValuePair<string, TickerDetails> { "ABC", new TickerDetails {TickerName="ABC", LastPrice=30, Ask=40, Bid=50, Volume=60 }});
    }

    public ObservableCollection<KeyValuePair<string, TickerDetails>> getData()
    {
        return this;
    }
}

public class TickerDetails
{
    public string TickerName { get; set; }
    public int LastPrice { get; set; }
    public int Bid { get; set; }
    public int Ask { get; set; }
    public int Volume { get; set; }
}

従来の方法 (以下のような方法) を実行できることはわかっていますが、上記の方法論を学びたい

Dictionary<int, StudentName> students = new Dictionary<int, StudentName>()
{
    { 111, new StudentName {FirstName="Sachin", LastName="Karnik", ID=211}},
    { 112, new StudentName {FirstName="Dina", LastName="Salimzianova", ID=317}},
    { 113, new StudentName {FirstName="Andy", LastName="Ruth", ID=198}}
};
4

2 に答える 2

0

そうじゃないですか

Add(new KeyValuePair<string, object> { "ABC", new TickerDetails { TickerName = "tick tock", LastPrice = 10 }});

?

新しい TickerDetails もインスタンス化する必要があります。

とにかく、それは一致しないObservableCollection<KeyValuePair<string, List<int>>>ので、次のようになります。

Add(new KeyValuePair<string, List<int>> { "ABC", new List<int> { 1, 2, 3, 4 }});

編集:最新の編集では、最初の例が機能するはずです。

于 2012-04-12T20:24:33.627 に答える