是否可以将方法添加到变量中

时间:2021-06-25 13:56:22

标签: c# variables methods

是否可以将方法添加到变量中,例如。

public static int BoolToInt(bool entry)
{
    if(entry == true) { return 1; }
    else { return 0; }
}

bool example = checkbox1.Checked;
RandomMethod(example.BoolToInt());

考虑尽量减少视觉混乱并提高可读性(我发现 RandomMethod(example.BoolToInt(), example2.BoolToInt());RandomMethod(BoolToInt(example), BoolToInt(example2)); 更易于阅读)我想知道这是否可行,经过研究,我发现这 Can you assign a function to a variable in C#? 感觉就像这是正确的方向,但它使变量成为方法,当我只想添加到它时。我是新手,所以我无法从那里到我想要的东西,也不知道是否有办法做到这一点,也找不到太多阅读 Microsoft Docs 的内容。

1 个答案:

答案 0 :(得分:-1)

您可以使用 C# 扩展方法通过添加新方法来“扩展”现有类型。

static class BoolExtensions {
  public static int ToInt(this bool value) {
    return value ? 1 : 0;
  }
}

然后你可以使用:

var example = true;
var exampleAsInt = example.ToInt();

参考:

相关问题