Tôi có 3 chức năng tương tự, mà chỉ thay đổi dựa trên kiểu số:Tạo một phương pháp chung để chuyển đổi chuỗi số nullable
<Extension()> _
Public Function ToNullableShort(ByVal str As String) As Short?
Dim intReturn As Short
If Short.TryParse(str, intReturn) Then
Return intReturn
Else
Return Nothing
End If
End Function
<Extension()> _
Public Function ToNullableByte(ByVal str As String) As Byte?
Dim intReturn As Byte
If Byte.TryParse(str, intReturn) Then
Return intReturn
Else
Return Nothing
End If
End Function
<Extension()> _
Public Function ToNullableLong(ByVal str As String) As Long?
Dim intReturn As Long
If Long.TryParse(str, intReturn) Then
Return intReturn
Else
Return Nothing
End If
End Function
Tôi đã cố gắng để thực hiện một chức năng chung ra điều này, nhưng không thể làm đi. Làm thế nào tôi có thể thực hiện một chức năng chung mà sẽ mất một T cụ thể và làm cho nó một Nullable (của T)?
Quá xấu không có phương thức Convert.TryChangeType, điều đó sẽ tiết kiệm phải ăn ngoại lệ khi chuỗi đầu vào không hợp lệ. – jjxtra