这是我的代码
public class MyClass
{
int LeftPoints;
int RightPoints;
public MyClass(int points)
: this (points, points)
{
if (points < 0)
throw new ArgumentOutOfRangeException("points must be positive");
}
public MyClass(int leftPoints, int rightPoints)
{
if (leftPoints < 0)
throw new ArgumentOutOfRangeException("leftPoints must be positive");
if (rightPoints < 0)
throw new ArgumentOutOfRangeException("rightPoints must be positive");
}
}
很明显,如果我调用new MyClass(-1)
它会抛出消息“leftPoints must be positive”。
是否可以使用重载第一个构造函数: this (points, points)
并仍然获得“正确”验证?