如何指定函数中哪些参数有效

时间:2013-10-22 23:26:04

标签: vb.net visual-studio-2012 parameters arguments

我有一个功能:

ShowMessage(message As String, type As String)

type只有三个有效输入 - “错误”,“警告”和“成功”。我想这样做,以便当你输入函数并进入type参数时,会出现一个带有效输入的下拉列表。

这甚至可能吗?如果我不能用字符串做,我可以构建一个选项数组吗?

2 个答案:

答案 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)