[英]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
{
...
其他資源
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.