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

时间:2011-04-08 13:38:36

标签: c# .net

我有以下函数返回truefalse

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

现在,以下代码位于按钮上,但我收到“操作员无法应用”错误:

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

我该如何解决?

6 个答案:

答案 0 :(得分:13)

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

修改

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

答案 1 :(得分:4)

将其更改为:

if (ValidateURL())

答案 2 :(得分:3)

更改

if (ValidateURL==true)

if (ValidateURL() ==true)

答案 3 :(得分:3)

你需要括号。应为ValidateURL() == true

答案 4 :(得分:1)

你想要

if (ValidateURL() == true)

答案 5 :(得分:0)

谷歌搜索此错误导致我在这里。就我而言,这是因为我在ASP.NET MVC Razor页面中引用了一个新属性。该属性已添加到我的模型中,但我忘记编译该项目。 Razor编译器找不到属性,并假设我试图引用扩展方法。

编译完成后,错误就消失了。