我有3种类似功能的通用方法,即只改变基于数值类型:创建转换字符串可空号
<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,并使其为可空(T)?
这太糟糕了,没有一个Convert.TryChangeType方法,这将避免在输入字符串无效时不得不吃掉异常。 – jjxtra 2009-06-19 19:39:54