我只会在运行时知道类型。
Public Shared Function DefaultValue(Type As System.Type) As Object
'???
End Function
任何人都可以填写这个功能吗?谢谢!
编辑: 在回答和更多讨论之后,我了解到你可以做到:
MyExpression = Nothing
确定表达式是否包含其类型的默认值。在我的库中使用共享功能可能会帮助我记住关于语言的这一点,但除此之外不需要该功能。感谢Dave指出这一点。
答案 0 :(得分:1)
我认为有一种非常简单的方法可以解决这个问题:如果类型不是值类型,则不返回任何内容,否则返回该类型的新实例,该实例将初始化为默认值:
Public Shared Function DefaultValue(Type As System.Type) As Object
If Not Type.IsValueType Then
Return Nothing
Else
Return Activator.CreateInstance(Type)
End If
End Function