目前我必须以某种方式从字符串解析到Keys.所以基本上作为输入我得到类似"Keys.Shift"的东西,并且我需要能够将其解析为键,以便我可以在应用程序中进一步使用它.
我找到了一个解决方案,但它不起作用:
Keys key;
Enum.TryParse("Enter", out key);
Run Code Online (Sandbox Code Playgroud)
我得到一个"静态类型不能用作类型参数".有人知道解决方法或其他什么吗?
提前致谢.
听起来你有另一个叫做Keys某个地方的课程.这是一个展示相同问题的例子(虽然key你没有提到的声明周围有第二个错误;我怀疑你也有这个错误):
using System;
using System.Windows.Forms;
static class Keys {}
class Program
{
static void Main()
{
Keys key;
Enum.TryParse("Enter", out key);
Console.WriteLine(key);
}
}
Run Code Online (Sandbox Code Playgroud)
如果你注释掉static class Keys {}代码编译得很好,这就是为什么我怀疑你在某个地方有这个类 - 或者是using从另一个库中带来类似内容的指令.
最简单的解决方法是完全限定Keys您的意思:
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);
}
}
Run Code Online (Sandbox Code Playgroud)