首页 > 解决方案 > 如何解决 C# 中的简单变量问题?

问题描述

我正在尝试使用 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);

这是视觉工作室给我的错误:

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

标签: c#virtual-keyboard

解决方案


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

改变这个:

sim.Keyboard.KeyDown(Key1);

对此:

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

推荐阅读