我想要的代码:
<Extension()> Public Function NValue(Of T)(ByVal value As Nullable(Of T),ByVal DefaultValue As T) As T Return If(value.HasValue,value.Value,DefaultValue) End Function
基本上我想要它做的是将默认值赋给可空对象,并且根据它是否为null,它将给出自己的值或默认值.
所以使用Date对象,它会这样做,这有效,但我无法使用通用T:
<Extension()> Public Function NValue(ByVal value As Date?,ByVal DefaultValue As Date) As Date Return If(value.HasValue,DefaultValue) End Function Dim test As Date? = nothing Dim result = test.NValue(DateTime.Now)
变量’result’现在具有当前的DateTime.
当我用T尝试它时,我得到这个错误(Visual Studio在Nullable(Of T)中放置T:
类型’T’必须是值类型或约束为’结构’的类型参数,以便与’Nullable’或可为空的修饰符’?’一起使用.
非常感谢您的帮助!
问候
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。