【问题标题】:Passing an optional Enum to a function in VB.NET将可选枚举传递给 VB.NET 中的函数
【发布时间】:2015-12-13 04:13:18
【问题描述】:

我正在尝试将可选枚举传递给函数,但无法正确获取语法。我正在尝试以下方法:

Public Function MyFunction(ByVal TestCode As String, Optional ByVal Columns As [Enum] = MyEnumName.EnumVariable) As Boolean

也试过了:

Public Function MyFunction(ByVal TestCode As String, Optional ByVal Columns As [Enum] = MyEnumName) As Boolean

并得到错误信息

“不能在常量表达式中进行从“MyEnumName”到“System.Enum”的转换”

是否可以有可选的枚举或我做错了什么?

提前致谢

【问题讨论】:

  • 澄清一下,您是想将实际的枚举类型传递给函数,还是枚举的值
  • 我认为你需要使用 '[Enum].MyEnumName' 而不是 'MyEnumName'

标签: vb.net enums optional-parameters enumerable


【解决方案1】:

在处理Enums 时,您必须指定给定名称而不是[Enum]。示例代码:

Public Enum MyEnumName
    val1
    val2
End Enum

Public Function MyFunction(ByVal TestCode As String, Optional ByVal Columns As MyEnumName = MyEnumName.val1) As Boolean

End Function

【讨论】:

  • 完美!谢谢@varocarbas
猜你喜欢
  • 1970-01-01
  • 2012-01-14
  • 1970-01-01
  • 1970-01-01
  • 2012-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多