簡體   English   中英

C#類添加到集合

[英]C# Class addition to collection

using System;
using System.Windows;
using System.Collections.Generic;
using Microsoft.Research.DynamicDataDisplay.DataSources;
using System.Windows.Threading;

namespace ClassReferenceStackOverFlow
{

public partial class MainWindow : Window
{
    public ObservableDataSource<StockInfo1> stockData1 = null;
    public MainWindow()
    {
        InitializeComponent();

        DateTime time = DateTime.Now;
        double price = 180.00; // IBM stock price
        StockInfo1 info = new StockInfo1 { Time = time, Price = price };
        stockData1.AppendAsync(Dispatcher, info);
    }

    public class StockInfo1
    {
        public DateTime Time { get; set; }
        public double Price { get; set; }
        public double Range { get; set; }
    }
}
}

我是C#/ WPF的新手。 希望跟蹤/繪制許多庫存(例如:IBM為StockInfo1)。 如何在不創建丑陋的StockInfo2,StockInfo3等的情況下完成整潔的工作? 一直在搜索並嘗試幾種選擇,但很多選擇超出了我對C#的了解。 感謝您提前提供任何指導/示例/代碼段

上一堂股票

public class Stock
{
    public string Symbol { get; set; }
    public ObservableCollection<StockInfo> StockInfos { get; } = new ObservableCollection<StockInfo>();
}    

public class StockInfo
{
    public DateTime Time { get; set; }
    public double Price { get; set; }
    public double Range { get; set; }
}

然后在主班

public ObservableCollection<Stock> Stocks { get; } = new ObservableCollection<Stock>();

不需要這個AppendAsync東西

您不需要StockInfo2只需使用列表或數組

public List<ObservableDataSource<StockInfo>> StockList = new List<ObservableDataSource<StockInfo>>();

那么你可以使用

var info = new ObservableDataSource<StockInfo>>(new StockInfo {
    Time = DateTime.Now,
    Price = 20
})
StockList.add(info);

將新庫存添加到您的清單

或者您編寫一個函數來添加新的StockInfo

public void addStockInfo(Double price,DateTime time){
    StockList.add(new ObservableDataSource<StockInfo>>(new StockInfo {
        Time = time,
        Price = price
    });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM