Как я могу проверить, является ли символ действительным ключом в VB.NET? - PullRequest
1 голос
/ 23 июля 2010

Мне нужно проверить, является ли символ действительным ключом (типом) в VB.NET (мне нужно превратить «K» в Keys.K, например).В настоящее время я делаю это для его преобразования:

Keys.Parse(GetType(Keys), key, False)

Однако, если ключ недействителен, выдается исключение.Как я могу проверить, является ли ключ действительным символом?

Ответы [ 2 ]

2 голосов
/ 23 июля 2010

У перечислений нет метода TryParse, поэтому вы можете сделать что-то вроде этого:

Public Function IsValidKey(ByVal key As String) As Keys

    If Not [Enum].IsDefined(GetType(Keys), key) Then
        Return Keys.None
    End If

    Return CType(Keys.Parse(GetType(Keys), key, False), Keys)

End Function

Используйте это так:

Dim k As Keys = IsValidKey("K")
If k <> Keys.None Then
  ' valid key
else
  ' invalid key
End If
0 голосов
/ 23 июля 2010

Вы должны использовать Keys.TryParse (доступно в .Net 4.0). Он вернет true, если ключ является действительным ключом, иначе false (не выбрасывает).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...