単純な System.Drawing.Point (int, int) を持つクラスがあります。
public class Foo
{
public Point Point;
}
このクラスが PointF (float, float) を持つインターフェイスを実装する必要があります。
public interface IPointable { PointF Point { get; } }
もちろん、私がしようとするとFoo : IPointable、私は持っています
Error 7 'Foo' does not implement interface member 'Pointable.Point'
だから、Fooクラスを次のように変更しました
public class Foo
{
public Point IntPoint;
public PointF Point { get { return IntPoint; } }
}
ああ、私はコンパイルします。これは、 Point が PointF への暗黙的な変換を行っているためです。
public static implicit operator PointF(Point p);
でも汚い気がする。
FooPointwithint座標があり、これは多くのコードにとって重要です。しかし、時々、あるFoo必要があるだけの場合IPointable、彼の-intらしさはそれほど重要ではありません.
ばかげたプロパティをクラスに追加せずに、インターフェイスFooを使用できる方法はありますか?IPointable