2017-09-11 18 views
0

我在看一個項目不會拋出一個錯誤包含此代碼:誤用可空類型的exe

Private _ddate As Date? 
Property ddate() As Date 
    Get 
     Return _ddate 
    End Get 
    Set(ByVal value As Date) 
     _ddate = value.Date 
    End Set 
End Property 

注意支持字段爲空,但屬性不! 這是它的一部分,它的對象被初始化並綁定到一個表單。初始化代碼中未觸及_ddate字段。以調試模式運行時,會引發錯誤 - 「可爲空的對象必須有值」。這就是我所期望的。 但是,編譯版本「正常工作」。沒有錯誤。怎麼會這樣?我錯過了什麼?

+0

有沒有在這裏幾乎足夠的細節。 –

+0

@Sam難以添加更多而不粘貼整個項目! – peterG

+1

這不會在'Option Strict'下編譯。 「Date?」不是「Date」,因爲getter中的任務嘗試執行。 – Plutonix

回答