【发布时间】:2015-05-10 13:47:56
【问题描述】:
您好,我需要一些帮助 :) 我有我的自定义类过滤器,并在其中定义了显式转换运算符以从 AForge.Point 转换为 System.Drawing.PointF AForge.Point 和 System.Drawing.PointF 都是来自库的结构。 blob.CenterOfGravity 是 AForge.Point 的类型。问题是 intelisense 告诉我“无法将 'AForge.Point' 转换为 'System.Drawing.PointF'。我不知道为什么无法完成此转换:/。感谢所有回复。
class Filters
{
public static explicit operator System.Drawing.PointF(AForge.Point apoint)
{
return new PointF(apoint.X,apoint.Y);
}
public void DrawData(Blob blob, Bitmap bmp)
{
int width = blob.Rectangle.Width;
int height = blob.Rectangle.Height;
int area = blob.Area;
PointF cog = (PointF)blob.CenterOfGravity;
}
...
}
【问题讨论】:
-
首先,您的显式运算符不会编译。您不能在另一个类中添加显式转换运算符。它应该是其中一种类型。