C# 限制属性接受的值范围的正确方法是什么?
我有一个带有一些公共属性的用户控件。特定属性是整数,但必须只接受小于常量的正值。目前,我做了以下工作:C# 限制属性接受的值范围的正确方法是什么?,c#,visual-studio,attributes,properties,design-time,C#,Visual Studio,Attributes,Properties,Design Time,我有一个带有一些公共属性的用户控件。特定属性是整数,但必须只接受小于常量的正值。目前,我做了以下工作: private int markerwidth = 2; [DefaultValue(2), Category("Appearance"), Description("Size of position marker")] public int MarkerWidth { get { return this.markerwidth; } set
private int markerwidth = 2;
[DefaultValue(2), Category("Appearance"), Description("Size of position marker")]
public int MarkerWidth
{
get
{
return this.markerwidth;
}
set
{
if (value > 0 && value <= MAXMARKERWIDTH)
{
this.markerwidth = value;
}
}
}
private int markerwidth=2;
[默认值(2)、类别(“外观”)、说明(“位置标记的大小”)]
公共整数标记宽度
{
得到
{
返回此.markerwidth;
}
设置
{
如果(value>0&&value最理想的方法是通过异常实现。只需继续您的代码
if (value > 0 && value <= MAXMARKERWIDTH)
{
this.markerwidth = value;
}
else
{
throw new ArgumentOutOfRangeException("Invalid value. Value must be between 0 and " + MAXMARKERWIDTH.ToString());
}
如果(value>0&&value有一个内置的ArgumentOutOfRangeException
,我想它适合这里。感谢你们两位。我接受了这个答案,因为它是更完整的答案。