如何在Visual Basic中设置属性的可能值范围?

时间:2015-11-10 20:41:53

标签: vb.net

我需要一个属性永远小于0. 有没有办法设置属性的范围,以便它永远不会是某个值,或者在这种情况下,永远不会少于比零?

我已经调查了这个,但由于我不确定我在寻找什么,所以很难做研究。

1 个答案:

答案 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