C# 使点结构理解+;=操作人员

C# 使点结构理解+;=操作人员,c#,xna,C#,Xna,我想知道是否可以扩展Microsoft.XNA.Framework.Pointstruct以使用+、+=、-和-=运算符Microsoft.XNA.Framework.Vector2有大量运算符,而Point只有最小值。只能从类型定义中添加这样的运算符重载。您不能将代码中的重载添加到该框架类型。这是不可能的,但您可以将添加功能添加到点结构中,如下所示: public static class PointAritmethicExtensions { public stati

我想知道是否可以扩展
Microsoft.XNA.Framework.Point
struct以使用
+
+=
-
-=
运算符
Microsoft.XNA.Framework.Vector2
有大量运算符,而
Point
只有最小值。

只能从类型定义中添加这样的运算符重载。您不能将代码中的重载添加到该框架类型。

这是不可能的,但您可以将添加功能添加到
结构中,如下所示:

public static class PointAritmethicExtensions
    {
        public static Point Add (this Point a, Point b)
        {
            return new Point(a.X + b.X, a.Y + b.Y);
        }
    }

不能对运算符重载使用扩展方法。@KevinDiTraglia如果知道答案是错误的,为什么不投反对票?这在很大程度上是他们的目的。@Servy我不认为这是一个毫无价值的答案,这绝对是一个可行的选择,只是没有明确说明OP要求的,而你的回答是不可能的。@pinckerman有一个被接受的答案并不意味着你应该把一个错误的答案当作没有错误来对待。其次,答案不是“没那么错”。它开始说,“是的,这是可能的。”这实际上是不可能的。这是不可能的。这句话完全错了。然后声明扩展方法是实现这一点的手段。这是完全错误的;扩展方法不能用于重载运算符。接下来,它声明您可以扩展结构以添加新代码。不能扩展结构。这是完全错误和误导的。@Servy;虽然他的回答中“关于主题”的部分确实不正确,但他仍然提供了一个很好的替代方案,这正是这个网站有用的地方;寻求帮助,即使你问错了问题。也;您仍然声称扩展结构是不可能的,这就是我纠正您的原因。你的答案提供了正确的答案,但没有帮助。这几乎值得我投下一票。