如何在C#中解决一个简单的变量问题?

时间:2019-09-08 03:03:52

标签: c# virtual-keyboard

我正在尝试使用String作为变量在C#中的项目中修复一行代码,但它给了我一个错误,我尝试了几种方法对其进行修复,但我无法找到解决方案?您建议如何解决我的问题?

//The problem.

            string Key1;
            string KeyHelper;
            KeyHelper = "VirtualKeyCode.VK_"; 
            Key1 = KeyHelper+"W";

         while(true)
            {
               sim.Keyboard.KeyDown(Key1);               
            }

//The Result I want to reach.

sim.Keyboard.KeyDown(VirtualKeyCode.VK_W);

这是Visual Studio给我的错误:

Argument 1: cannot convert from 'string' to 'WindowsInput.Native.VirtualKeyCode'

1 个答案:

答案 0 :(得分:1)

您从字符串开始,尝试将其传递给接受枚举的方法。因此,您需要使用Enum.Parse()。请记住,Enum.Parse()返回object,因此您需要将结果转换为正确的枚举类型。

更改此:

sim.Keyboard.KeyDown(Key1);

对此:

sim.Keyboard.KeyDown((VirtualKeyCode)Enum.Parse(typeof(VirtualKeyCode), Key1));