2015-10-27 57 views
0

是否可以從if語句中拋出一個對象?在If語句中拋出

下面的代碼是無效的顯然是:

' DriversLicense_Expiry is of type Object 
If (DriversLicense_Expiry = Nothing OrElse (DriversLicense_Expiry as DateTime) > DateTime.Now) Then ... 

我也試着投這樣的,但是當它沒有定義,導致異常:

Dim dtDriversLicenceExpiry As DateTime = DriversLicense_Expiry; 

有時不會被定義DriversLicense_Expiry因此爲空

+2

如果你使用'日期時間這不是VBA –

+0

'在首先你不需要一個「對象」。 – GSerg

+0

你的代碼甚至不是'vb.net' - 它只是看起來像vb.net – Fabio

回答

-1

您可以做類似這樣的事情

If (DriversLicense_Expiry = Nothing OrElse 
     Convert.ToDateTime(DriversLicense_Expiry) > DateTime.Now) 
0

如果你打算使用Visual Basic,你必須使用DirectCast,或者甚至可以使用CType函數。

(DriversLicense_Expiry as DateTime)確實是無效聲明,因爲As關鍵字僅在聲明變量時使用。

DirectCastCType功能的結構是:

DirectCast(<object to cast>, <type to cast to>) 

雖這麼說,這裏有一個正確的做法:

If DriversLicense_Expiry = Nothing OrElse DirectCast(DriversLicense_Expiry, DateTime) > DateTime.Now Then