如何使用methods参数访问对象?

时间:2014-01-23 01:24:31

标签: c#

Noob在这里提问,我想知道如何使用传递给方法的参数来访问对象。我试过这个,但是我得到了一个标识符预期错误。

private Boolean checkStates(string button)
{
    if (lastState.Buttons.(button) = padState.Buttons.(button))
    {
        return true;
    }
    else{
        return false;
    }
}

这是我想要做的javascript等价物。

var object = {'property':'A'};

function getPropVal(prop){
    return object[prop];
}

getPropVal(property);
//output: 'A'

1 个答案:

答案 0 :(得分:1)

如果两个Buttons都是标识符“按钮”的字典,那么就可以了:

   if (lastState.Buttons[button] == padState.Buttons[button])

另请注意==(假设您要进行比较,而不是分配,因为它是if语句。)

如果是集合,您可以使用LINQ FirstOrDefault

   var button1 = lastState.Buttons.FirstOrDefault(b => b.SomeProperty == button);
   var button2 = lastState.Buttons.FirstOrDefault(b => b.SomeProperty == button);
   if (button1 != null && button1 == button2)...

请注意,在两种情况下if都会比较对象,如果要按特定属性检查相等性,请相应地更改条件。