我有这个类名为Point2D
具有两个属性X
和Y
. 此类具有到 ValueTuple 的隐式转换(double x, double y)
当我使用 using时,我的问题就List<Point2D>()
来了,它给了我List<(double x, double y)>()
Linq
Ienumerable.Cast<T>()
InvalidCastException
我究竟做错了什么?
编辑:
例子
public class Point2D
{
public Point2D(double x, double y)
{X=x;
Y=y;
}
public double X {get;}
public double Y {get;}
public static implicit operator (double x, double y) (Point2D point)=> (point.X, point.Y);
public static implicit operator Point2D((double x, double y) point) => new Point2D( point.x, point.y);
}
上课了,所以如果我这样做
var points=new List<Point2D>(){(1,2),(2,3)};
如果我这样做,我会得到演员表异常
var list = points.Cast<(double x, double y)>().ToList();