在 c# 中将 += 或 -= 作为参数传递

sna*_*per 3 .net c#

我有一个按钮单击方法,在 c# 中使用以下代码(我正在开发的小型高尔夫评分程序只是为了好玩):

private void btnPlus_Click(object sender, EventArgs e)
{
    btnMinus.Enabled = true;
    if (f_intHoleNumber != 18) { f_intHoleNumber += 1; }
    if (f_intHoleNumber == 18) { btnPlus.Enabled = false; }
    txtHoleNumber.Text = f_intHoleNumber.ToString();            
}
Run Code Online (Sandbox Code Playgroud)

我想重构它并从中提取另一个方法,所以我不重用代码,但我不确定是否可以将运算符 (+=) 作为参数传递给方法。这能做到吗?

小智 5

我不这么认为。将 +1 或 -1 传递给该方法并将其与要添加或减去的值相乘怎么样?例如:

public float calc(float val1, float val2, int op) 
{
    return val1 + op * val2;
}
Run Code Online (Sandbox Code Playgroud)