我有一些公共屬性的用戶控件。一個特定的屬性是一個整數,但只能接受小於最大值const
的正值。目前我做了以下工作:限制物業接受的價值範圍的正確方法是什麼?
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;
}
}
}
這樣做的工作,但失敗的默默。我想我可以添加邏輯來使用0爲負值,超過它的最大值,但它仍然不理想。
相比之下,TabValue屬性(從UserControl
繼承)抱怨,如果我試圖在設計時(並假定在運行時)設置負值。
如果這實現了正常的異常?或者,還有更好的方法?一個屬性可能?
感謝你們倆。我接受了這個,因爲它是更完整的答案。 – 2012-02-04 13:29:14