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/