发送类型参数,如DirectCast

时间:2017-04-02 23:04:04

标签: vb.net

我已经做了这个扩展来取代我对DirectCast的使用,因为我觉得它不易读。

<Extension>
Public Function [As](Of T)(Input As Object) As T
    Return DirectCast(Input, T)
End Function

Dim i = (New Integer).As(Of Integer)

我的问题是需要&#34; Of&#34;在写整数之前。 DirectCast并不需要它。

DirectCast(New Integer, Integer)

如何将代码更改为与DirectCast的类型参数具有相同的外观?

基本上看起来像这样:

Dim i = (New Integer).As(Integer)

1 个答案:

答案 0 :(得分:0)

只使用普通函数而不是扩展方法:

Function ToInt(o As Object) As Integer
  Return DirectCast(o, Integer)
End Function

另一种选择是使用VB类型转换函数:MSDN link(注意,它们返回新对象 - 它们不是类型转换函数)

尽管如此,我建议你坚持使用内置的DirectCast功能。你所做的只是用一个其他人无法识别的自定义关键字替换内置关键字。