1

私は機能を持っています:

ShowMessage(message As String, type As String)

type「エラー」、「警告」、「成功」の 3 つの有効な入力しかありません。type関数を入力してパラメーターに到達すると、有効な入力がドロップダウンに表示されるようにしたいと思います。

これは可能ですか?文字列でそれができない場合、オプションの配列などを作成できますか?

4

2 に答える 2

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"避けるために、上記の [Error] を使用しなかった理由です。

.ToString変数が MessageType として宣言されている場合にのみ機能します。mtype実際に MessageType 値を取得する整数である場合、.ToString は "2" を返します。その場合、整数をキャストして Enum Name を取得します。

Dim msgType as String = [Enum].GetName(GetType(mType))
'or
msgType = [Enum].Parse(GetType(MessageType), mType).ToString
于 2013-10-22T23:38:53.697 に答える
2

あらかじめ定義された限られた数のオプションから選択できる場合は、列挙型を使用する必要があります。

Enum MessageType
    [Error],
    Warning,
    Success
End Enum

(エラーはキーワードであるため、角括弧で囲む必要があります)

そしてあなたの呼び出しは

 ShowMessage(message As String, type As MessageType)
于 2013-10-22T23:30:47.477 に答える