我有這樣的方法:在VB.NET法「一無所有」準備
Private Sub SetIfNotNull(ByVal input As Object, ByRef destination As Object, ByVal ConversionType As ConversionType)
If input IsNot Nothing AndAlso input <> "" Then
Select Case ConversionType
Case DealerTrackConnection.ConversionType._String
destination = input
Case DealerTrackConnection.ConversionType._Integer
destination = Convert.ToInt32(input)
Case DealerTrackConnection.ConversionType._Double
destination = Convert.ToDouble(input)
Case DealerTrackConnection.ConversionType._Date
destination = Convert.ToDateTime(input)
Case DealerTrackConnection.ConversionType._Decimal
destination = Convert.ToDecimal(input)
End Select
End If
End Sub
這裏是一個呼叫中失敗:
SetIfNotNull(ApplicantElement.Element("suffix").Value, NewApplicant.Suffix, ConversionType._String)
如果從XML文件中的元素是沒有(沒有標籤),方法調用失敗。但我沒有檢查什麼。爲什麼要這樣做,以及如何修改代碼以在這個時間和每次都修復它。
+1這些檢查可以進一步合併。在VB.Net中,'String.IsNullOrEmpty(input)'等價於'(input =「」)',因爲VB.Net在使用'='進行字符串比較時將''''看作''「''。 [見這裏](http://stackoverflow.com/questions/2633166/nothing-string-empty-why-are-these-equal/2633274#2633274) – MarkJ 2010-10-28 08:27:39
@MarkJ謝謝,我沒有意識到這一點:) – 2010-10-28 15:38:51