我在Xamarin.Mac中创建了一个自定义的System.Drawing.Brush子类。我的班级看起来像这样:
// ImageBrush: very much like a System.Drawing.TextureBrush,
// but based on a Lanet.Drawing.Image instead.
public class ImageBrush : System.Drawing.Brush {
public Lanet.Drawing.Image image;
public ImageBrush(Lanet.Drawing.Image image) {
this.image = image;
}
public override object Clone() {
return new ImageBrush(image);
}
}
这编译很好,但是当我实际将其中一个传递给System.Drawing.Pen构造函数时,框架会抛出System.ArgumentException(找到空引用或无效值)。
docs说"画笔是从MustInherit(抽象)画笔类"派生的任何类的实例。在我看来,这是我在这里得到的东西,但框架并没有购买它。我究竟做错了什么?或者这真的不可能吗?
(注意:我并不关心这个画笔是否实际上是使用标准的System.Drawing例程绘制的......我只需要将其作为将自己的数据传递给某些自定义绘图代码的方法。)< / p>