无法在vb.net中检查对象的空值

时间:2012-11-16 10:42:09

标签: vb.net object properties

这是我的班级:

Public Class AddressForm

    Private Street As String

    Property Street_() As String
        Get
            Return Street
        End Get
        Set(ByVal value As String)
            If value IsNot Nothing Then
                Street = ""
            Else
                Street = value
            End If

        End Set
    End Property
End Class

它是我上面的BussinessAddressDialog类的对象

如果不是BussinessAddressDialog.Street_ = String.Empty(此处应用程序崩溃为空值)  在这一行之后,我在数据库中插入值

Thnx的帮助

2 个答案:

答案 0 :(得分:1)

尝试使用ShortCircuit技术:

If BussinessAddressDialog IsNot Nothing AndAlso _
   BussinessAddressDialog.Street_ = String.Empty Then
    ' Do you work here
End If

未初始化的BussinessAddressDialog可能已设置为Nothing

答案 1 :(得分:0)

如果Street字段在您使用之前不会被初始化,那么您可以将相同类型的逻辑用于Set。你想要在你的二传手中测试value Nothing而不是它是:

Public Class AddressForm

    Private Street As String

    Property Street_() As String
        Get
            If Street Is Nothing then
                Return String.Empty
            Else
                Return Street
            End If
        End Get
        Set(ByVal value As String)
            If value Is Nothing Then
                Street = ""
            Else
                Street = value
            End If

        End Set
    End Property
End Class