2012-11-16 52 views
0

這是我的課:無法檢查空值的對象在vb.net

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

你是說'BussinessAddressDialog'是'Nothing'嗎?請發佈導致異常的代碼行,以及實際的異常消息。 –

+0

我沒有得到異常應用程序崩潰後此代碼如果不BussinessAddressDialog.Street_ = String.Empty,如果bussinessaddressdialog.street爲空 –

+2

應用程序「崩潰」,因爲有一個(未處理)的異常。說明你沒有得到一個,因此似乎有點不太可能。 – igrimpe

回答

1

嘗試使用ShortCircuit技術:

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

大概BussinessAddressDialog未初始化已設置爲Nothing

+0

您是對的...感謝您的回覆 –

0

如果Street字段在你使用之前不會被初始化,你可以在你的Set中使用同樣的邏輯,你也可以在你的setter中測試valueNothing而不是它的存在東西:

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 
+0

它不起作用 –

+0

你可以發佈給你的問題和確切的錯誤信息的代碼行嗎? – Sean