2016-03-30 11 views
2

現在のところ、文字列からキーを解析する必要があります。だから基本的に入力として私は "Keys.Shift"のようなものを取得し、何とか私はそれをアプリケーションでもっと使うことができるように、これをキーに解析できる必要があります。文字列からキーへのC#の解析

私は解決策を見つけたが、それは動作しません:

Keys key; 
Enum.TryParse("Enter", out key); 

私は「静的型は型引数として使用することはできません」を取得。誰かが回避策などを知っていますか?

ありがとうございます。

答えて

6

Keysという別のクラスがどこかにあるようです。 (あなたが言及していないkeyの宣言の周りに2番目のエラーがありますが、私はあなたにもかかわらず、そのエラーを持っている疑いがある)ここでは、同じ問題を実証する例を示します

using System; 
using System.Windows.Forms; 

static class Keys {} 

class Program 
{ 
    static void Main() 
    { 
     Keys key; 
     Enum.TryParse("Enter", out key); 
     Console.WriteLine(key); 
    } 
} 

あなたはコメントアウトした場合static class Keys {}コードはうまくコンパイルされています。そのため、あなたはそのクラスをどこかに持っていると思われます。あるいはusingディレクティブは、別のライブラリと似たようなものです。説明のための

using System; 
using System.Windows.Forms; 

static class Keys {} 

class Program 
{ 
    static void Main() 
    { 
     System.Windows.Forms.Keys key; 
     Enum.TryParse("Enter", out key); 
     Console.WriteLine(key); 
    } 
} 
+0

ありがとう:

最も簡単な修正は、ちょうどそのあなたが意味Keysタイプは完全修飾することです! – John