我有一个功能:
ShowMessage(message As String, type As String)
type
只有三个有效输入 - “错误”,“警告”和“成功”。我想这样做,以便当你输入函数并进入type
参数时,会出现一个带有效输入的下拉列表。
这甚至可能吗?如果我不能用字符串做,我可以构建一个选项数组吗?
答案 0 :(得分:3)
修正一些事情:
Friend Enum MessageType
Success
Warning
Critical ' Error is reserved, use [Error] or something else
End Enum
Sub ShowMessage(message As String, mType As MessageType)
要像使用字符串一样使用它,比如说是一个Msgbox标题:
Dim msgType as String = mType.ToString
这会将MessageType.Critical
转换为"Critical"
,这就是为什么我没有使用上面的[错误] - 以避免文本中的括号。
.ToString
仅在变量声明为MessageType时有效,如果mtype
实际上是一个恰好获取MessageType值的整数,.ToString将返回“2”。在这种情况下,强制转换整数以获取枚举名称:
Dim msgType as String = [Enum].GetName(GetType(mType))
'or
msgType = [Enum].Parse(GetType(MessageType), mType).ToString
答案 1 :(得分:2)
当有一个有限的,预定义数量的选项可供选择时,您应该使用枚举
Enum MessageType
[Error],
Warning,
Success
End Enum
(错误必须放在方括号中,因为它是关键字)
,您的电话将是
ShowMessage(message As String, type As MessageType)