操作符& # 39;= = & # 39;不能应用于'方法组'类型的操作数

本文关键字:类型 操作数 不能 操作符 应用于 方法 | 更新日期: 2023-09-27 17:49:42

我有以下函数返回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");
   }
}

我该如何修复它?

操作符& # 39;= = & # 39;不能应用于'方法组'类型的操作数

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

正如Cody Gray指出的那样,比较"true"和ValidateURL() (ValidateURL() == true)返回的值没有真正的意义。没有人真正这么做,这只会让代码变长。当我回答这个问题时,我只是快速复制,粘贴和固定OP的问题,这就是为什么比较在那里。虽然绝对有效,但实际上并不需要。+ 1科迪。

变化

if (ValidateURL==true)

if (ValidateURL() ==true)

改为:

if (ValidateURL())

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

你想

if (ValidateURL() == true)

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