在EnumerablePointEnumerator<T>.GetCurrent(ref Point p)
(Microsoft.Research.DynamicDataDisplay.DataSources
)我发现了一个错误Unable to cast object of type '<XYPairsInRange>d__8' to type 'IXYPair'.
无法投射型“<XYPairsInRange> d__8”为类型“IXYPair”
XYPairsInRange不是一个类型的对象,但我的类的方法中,返回IEnumerable类型
public IEnumerable<IXYPair> XYPairsInRange(double startX, double endX)
{
foreach (IXYPair pair in this.XYPairs)
{
if (pair.X >= startX && pair.X <= endX)
{
yield return pair;
}
}
}
public IEnumerable<IXYPair> XYPairs
{
get
{
int counter = 0;
foreach (double x in XValues)
{
yield return new XYPair() { X = x, Y = YValues[counter++] };
}
}
}
IXYPair被定义为
public interface IXYPair
{
double X { get; }
double Y { get; }
}
可以在运行时会导致这个错误是什么?我试着显式铸造yield return语句并没有成功返回一个列表(无产量)
编辑:XValues和YValues都列出<双>
调用代码:
public IEnumerable Query()
{
yield return this.Data.XYPairsInRange(Double.NegativeInfinity, Double.PositiveInfinity);
}
什么是XValues'的'类型? – 2013-03-28 09:56:28
显示您的调用代码,请 – Nathan 2013-03-28 09:57:48