为什么我不能使用自己的Brush子类(在.NET中)?

时间:2014-07-31 13:55:19

标签: c# .net system.drawing monomac brush

我在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>

0 个答案:

没有答案