Я должен проверить, является ли символ допустимым Ключом (тип) в VB.NET (я должен повернуть "K" в Ключи. K, например). Я в настоящее время делаю это для преобразования его:
Keys.Parse(GetType(Keys), key, False)
Однако, если ключ не допустим, он выдает исключение. Как я могу проверить, является ли ключ допустимым символом?
Перечисления не имеют метода 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
Вы должны использовать Keys.TryParse (доступно в .Net 4.0). Он вернет истину, если ключ является действительным ключом, в противном случае - ложь (не выбрасывает).