private void blokace(object sender, EventArgs e)
{
// ...
}
然后用它在if
这样不能转换方法组
if (blokace)
但我得到一个编译器错误,“不能转换方法组‘blokace’非委托类型‘布尔’。难道你打算调用这个方法吗?“
有人可以帮我吗?它总是这样做,它的工作,我不知道,现在有什么问题。
private void blokace(object sender, EventArgs e)
{
// ...
}
然后用它在if
这样不能转换方法组
if (blokace)
但我得到一个编译器错误,“不能转换方法组‘blokace’非委托类型‘布尔’。难道你打算调用这个方法吗?“
有人可以帮我吗?它总是这样做,它的工作,我不知道,现在有什么问题。
你不能做
if(blokace)
因为blokace不是一个布尔表达式,是一种方法
你可以做
if(blokace())
,当且仅当方法返回一个布尔值,但在您的情况下blokace将返回什么(无效)
此外
blokace看起来像一个eventMethod所以你通常不调用,但等待它是调用例如东西按下按钮,套接字已连接,列表已更改等
您的建议不起作用。它不会编译,因为它返回无效 – CodingYoshi
@CodingYoshi,感谢您的评论,我表示OP ***可以做***但*** ......我反正编辑了这个问题 –
当您使用if语句时,结果应该是布尔值(true,false)。你的方法返回一个void。你基本上是在说如果(void)不是真或假。
也许你应该从你的方法返回true或false,然后它会工作。或者您可以从您的方法中返回其他内容,然后检查返回的值。例如:
private string Blockace(object sender, EventArgs e)
{
// do some work
return "yes";
}
然后您可以检查返回的值。但你也需要发送两个参数:发件人和电子邮件
if (Blockace(sender, e) == "yes")
{
// do whatever you need
}
我可以从blockace方法签名看到它是一个事件处理程序。你需要从UI控制中重新使用它内部的代码(点击或者其他),但是你也需要从你的代码中使用它。因此创建一个方法并将通用代码放在那里。然后,您可以调用包含事件处理程序以及其他地方的公共代码的方法。
我已从您的图片中获取相关代码并将其添加到您的问题中。如果我离开的不是你的意图,请随时恢复我的编辑。 – jdphenix