C# 如何使用变量作为属性标识符?

C# 如何使用变量作为属性标识符?,c#,C#,在我的具体示例中,我使用了,并且有如下内容: if (Keyboard.Modifiers == ModifierKeys.Shift) { // some code } 但假设我希望“移位”能够通过变量进行更改,比如: private string myKey = "Shift" if (Keyboard.Modifiers == ModifierKeys.myKey) { // some code } 如何才能做到这一点?您可以通过调用ToString()将枚举与字符串进

在我的具体示例中,我使用了,并且有如下内容:

if (Keyboard.Modifiers == ModifierKeys.Shift)
{
    // some code
}
但假设我希望“移位”能够通过变量进行更改,比如:

private string myKey = "Shift"
if (Keyboard.Modifiers == ModifierKeys.myKey)
{
    // some code
}

如何才能做到这一点?

您可以通过调用
ToString()
将枚举与字符串进行比较:

但更安全的方法是在变量中保存枚举值:

private Keys myKey = ModifierKeys.Shift;
if (Keyboard.Modifiers == myKey)
{
    // some code
}

通过调用
ToString()
,可以将枚举与字符串进行比较:

但更安全的方法是在变量中保存枚举值:

private Keys myKey = ModifierKeys.Shift;
if (Keyboard.Modifiers == myKey)
{
    // some code
}

不,您不能这样做并将变量值作为枚举常量插入。您可以直接比较字符串键,如


不,您不能这样做并将变量值作为枚举常量插入。您可以直接比较字符串键,如

private string myKey = "Shift"
if (Keyboard.Modifiers.ToString() == myKey)
{
    // some code
}