c# - 在 INotifyPropertyChanged 对象中使用具有通用参数的抽象类
问题描述
我正在尝试将通用/抽象 DataSeries 附加到 INotifyPropertyChanged 对象。但是,TX、TY 泛型似乎阻止了我按预期使用它。谁能帮我吗?
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
推荐阅读
- firebase - Flutter cloud_firestore 插件 Android 上的事务
- mysql - Mysql语法错误创建存储函数5.6.10
- sql - Oracle DB SQL将base64字符串(> 4000个字符)插入SQL中表的BLOB列
- sql - Excel vba create array and run sql query from given values multiple times
- audiokit - Unable to add AudioKit.framework to an older project
- java - actionPerformed 不为计时器运行
- python - {% include '' with %} in Django template
- html - Div slide up with pure css
- linq - IEnumerable in LINQ when only one instance of the node
- angular - How to load a 3rd third party library with the Angular 5 CLI?