2010-07-22 20 views
1

我需要检查一个字符是否是VB.NET中有效的键(类型)(例如,我需要将“K”变成Keys.K)。我目前这样做是为了把它转换:如何检查字符在VB.NET中是否有效?

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

但是,如果关键无效它抛出一个异常。我如何检查密钥是否是一个有效的字符?

回答

2

枚举没有的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

完美,正是我一直在寻找。谢谢! – Steven 2010-07-23 00:46:16

+0

@Steven - 很高兴我能帮上忙。如果您发现它有用,请高兴地回答这个问题。谢谢。 – 2010-07-23 00:49:28

0

您应该使用Keys.TryParse(可在.Net 4.0中使用)。如果key是有效键,它将返回true,否则返回false(不抛出)。

相关问题