簡體   English   中英

在INotifyPropertyChanged對象中將Abstract類與通用參數一起使用

[英]Using Abstract class with Generic parameters in INotifyPropertyChanged object

我正在嘗試將通用/抽象DataSeries附加到INotifyPropertyChanged對象。 但是,TX,TY泛型似乎阻止了我按預期使用它。 誰能幫我嗎?

有關抽象類的更多信息: https : //www.scichart.com/documentation/v5.x/webframe.html#SciChart.Charting~SciChart.Charting.Model.DataSeries.DataSeries%602.html

internal class DataSeriesAbstract : INotifyPropertyChanged
{
    public string dataName;
    public double lastAppendedTimestamp = 0.0f;

    public List<AbstractChartViewModel> subscribers;

    // gives an error that TX and TY cannot be found
    public DataSeries<TX, TY> realData;
    public DataSeries<TX, TY> Data
    {
        get { return realData; }
        set
        {
            realData = value;
            OnPropertyChanged(dataName);
        }
    }
...
}

謝謝,
麥克風

您的班級也需要提供泛型。 這將更改您的類聲明,如下所示:

internal class DataSeriesAbstract<TX, TY> : INotifyPropertyChanged where TX : IComparable where TY : IComparable

如果執行此操作,則where約束將很關鍵,因為DataSeries具有相同的約束。

現在,如果您知道數據系列的具體類型,則可以使用它代替TX,TY。 例如:

public DataSeries<double, double> realData;
public DataSeries<double, double> Data

至少,您需要將它們作為通用參數添加到類中,以及所有約束

internal class DataSeriesAbstract<TX, TY>: INotifyPropertyChanged
{
   ...

其他資源

通用類(C#編程指南)

暫無
暫無

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

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