是否可以将方法添加到变量中,例如。
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 的内容。
答案 0 :(得分:-1)
您可以使用 C# 扩展方法通过添加新方法来“扩展”现有类型。
static class BoolExtensions {
public static int ToInt(this bool value) {
return value ? 1 : 0;
}
}
然后你可以使用:
var example = true;
var exampleAsInt = example.ToInt();