班级的界限
本文关键字:界限 | 更新日期: 2023-09-27 17:49:16
这可能是一个愚蠢的问题,但当我创建一个类,我应该如何设置适当的边界属性在它。
示例:如果我有这个类class Product
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
private int quantity;
public int Quantity
{
get { return quantity; }
set { quantity = value; }
}
}
如何将Quantity限制为0或更高
编辑:谢谢你的快速回应,但这两个答案有什么不同?我看到的是,它们都做同样的事情,但哪种方式更好使用?编辑:例如,如果我希望数量在0和120之间,我如何设置两个边界?
private int quantity;
public int Quantity
{
get { return quantity; }
set { if (value < 0 || value>120) throw new ArgumentOutOfRangeException();
else quantity = value;
}
}
也可以使用非负范围的int
private uint quantity;
public uint Quantity
{
get { return quantity; }
set { quantity = value; }
}
注意这不是CLS兼容的。因此,如果您正在设计API或期望跨语言功能,那么您应该选择int
并使用现有答案之一。