我有一个接口ISensor
,它有一个返回接口类型ISensorMeasurement
列表的方法。然后我实现ISensor
并想知道是否有办法返回实现ISensorMeasurement
的集合。
例如,SensorModel.GetMeasurementsInRange<TemperatureMeasurement>
方法返回List<TemperatureMeasurement>
。 TemperatureMeasurement
实现ISensorMeasurement
,但编译器并不喜欢我返回此类型。
为简单起见,我已将界面和类减少到最低限度。
public interface ISensor
{
int Id { get; set; }
List<ISensorMeasurement> GetRangeOfMeasurements(DateTime startDate, DateTime endDate);
}
public class TemperatureSensor : ISensor
{
public int Id { get ;; }
private SensorModel SensorModel { get; set; } = new SensorModel();
public List<ISensorMeasurement> GetRangeOfMeasurements(DateTime startDate, DateTime endDate)
{
return SensorModel.GetMeasurementsInRange<TemperatureMeasurement>(Id, startDate, endDate);
}
}