运算符'=='不能应用于'方法组'类型的操作数

Sus*_*oty 12 .net c#

我有以下函数返回truefalse:

public bool ValidateURL()
{
   if (string.IsNullOrEmpty(txt22.Text) & string.IsNullOrEmpty(txt33.Text))
   {
      return false;
   }
   else 
   {
      return true;
   }
}
Run Code Online (Sandbox Code Playgroud)

现在下面的代码在按钮上,但我得到" 操作员无法应用 "错误:

private void btn33_Click(object sender, EventArgs e)
{
   if (ValidateURL==true)
   {
      MessageBox.Show("Enter data");
   }
}
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

Pio*_*yna 13

private void btn33_Click(object sender, EventArgs e)
{
    if (ValidateURL())
    {
        MessageBox.Show("Enter data");
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:

正如Cody Gray指出的那样,比较"true"和ValidateURL()(ValidateURL() == true)返回的值没有实际意义.没有人真正做到这一点,它只会使代码更长.当我回答这个问题时,我只是快速复制,粘贴并修复了OP的问题,这就是比较的原因.虽然绝对有效,但并不是真的需要它.+1科迪.

  • 添加解释为什么需要括号的解释(例如,它是一个方法调用),以便学习新手可能也很不错!最佳答案可以解决问题,但也可以解释为什么首先发生问题 (2认同)

Mar*_*oek 5

改变

if (ValidateURL==true)
Run Code Online (Sandbox Code Playgroud)

if (ValidateURL() ==true)
Run Code Online (Sandbox Code Playgroud)