我需要一个属性永远小于0. 有没有办法设置属性的范围,以便它永远不会是某个值,或者在这种情况下,永远不会少于比零?
我已经调查了这个,但由于我不确定我在寻找什么,所以很难做研究。
答案 0 :(得分:2)
如果值无效,则引发参数异常。
Public Property MyProperty As Integer
Get
Return _myProperty
End Get
Set(value As Integer)
If value < 0 Then
Throw New ArgumentException("Value must be greater than or equal to zero.", "MyProperty")
End If
_myProperty = value
End Set
End Property
或者,属性设置器可能能够处理超出范围的值。例如,如果我们不知道什么会引发异常,而是使用可接受范围内的替代值。例如:
Public Property MyProperty As Integer
Get
Return _myProperty
End Get
Set(value As Integer)
If value < 0 Then
_myProperty = 0
Else
_myProperty = value
End If
End Set
End Property