VB.NET:有没有办法让Nothing默认为数字类型的0?

标签 vb.net nothing

VS 2010 IDE 并没有因为试图通过采用用户定义枚举的方法参数传递 Nothing 而对我咆哮,这真的让我很烦恼。相反,它将 0 传递给该方法。 c# 永远不会允许这样做。是否可以添加一些模块级修饰符,例如 option strict这将迫使 IDE 不允许这些类型的隐式转换?

最佳答案

可悲的是没有。

但是您可以在跳过 0 时为枚举成员赋值。 (或使用名为 None 或类似名称的占位符),并且至少在运行时处理这种情况。

Sub Main
    MyMethod(Nothing) ' throws Exception
End Sub

Sub MyMethod(e as MyEnum)
    If e = 0 Then
        Throw New Exception
    End If
End Sub

Enum MyEnum
    a=1
    b=2
    c=3
End Enum

关于VB.NET:有没有办法让Nothing默认为数字类型的0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11758135/

相关文章:

javascript - JQuery Datepicker 在代码隐藏中获取选定月份更改事件

VB.NET 让消息框在应用程序退出后继续存在

c# - C# 的 static 是否与 VB.NET 中的 NotInheritable 相同?

vb.net - 标签文本未一一更新 Visual Basic

vb.net - 为什么我无法检查 'DateTime' 是否为 'Nothing' ?

.net - VB.NET 结构和什么都没有 - 问题

vb.net - VB Nullables 和 Nothing

vb.net - 字节转换回图像