Point point = null作为类构造函数中的默认参数

时间:2014-04-26 10:35:21

标签: c# .net

当我尝试编译这个简单的代码时,我的构造函数中出现两个错误:“类型的值不能用作默认参数” 我该如何解决这个问题?

  public class PointerArgs
  {

      public Point Point { get; set; }


      public Point TransformedPoint { get; set; }


      public PointerArgs(Point point = null, Point transformedPoint = null)
      {
          this.Point = point;
          this.TransformedPoint = transformedPoint;
      }
  }

1 个答案:

答案 0 :(得分:4)

您无法将Point设置为null,因为它是值类型。

这样做:

public PointerArgs(Point point = default(Point), Point transformedPoint = default(Point))
{
   this.Point = point;
   this.TransformedPoint = transformedPoint;
}

您可以通过将其设为Nullable类型将其指定为null,但这不是必需的。