在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