C#-3层体系结构.错误显示方法名称的No重载需要0个参数
本文关键字:重载 No 参数 0个 体系结构 错误 显示 方法 C#-3 | 更新日期: 2023-09-27 18:29:48
我在C#窗体中使用三层架构。我想做的是,如果数据存在,就隐藏按钮。这是我的密码。
类文件
public bool checkIfExists(Variables variables) { // BelPar
SqlCommand check = new SqlCommand();
check.Connection = dbcon.getcon();
check.CommandType = CommandType.Text;
check.CommandText = "SELECT * FROM tbl";
SqlDataReader drCheck = check.ExecuteReader();
if(drCheck.HasRows == true)
{
drCheck.Read();
if (... && .. ||) // conditions where variables are being fetch
{
return false;
}
}
drCheck.Close();
return true;
}
窗口窗体
btn_save.Visible = !balpayrolldetails.checkIfExists(); // This is where I get the "No overload for method 'checkIfExists' takes 0 arguments.
有什么帮助吗?请离开或在下面回答。感谢
要调用一个方法,需要按其确切名称进行调用,在本例中为:
checkIfExists(Variables variables);
这告诉我们,要使用此方法,我们需要将其传递到Variables
类型的对象中,以便在方法执行中使用。
无论方法中列出了哪种类型,都必须提供签名才能成功调用方法。
您需要从更新您的呼叫
btn_save.Visible = !balpayrolldetails.checkIfExists();
至
btn_save.Visible = !balpayrolldetails.checkIfExists(someVariablesOfTheExpectedType);
具有方法签名:
public bool checkIfExists(Variables variables)
应该通过将类型为Variables
的对象传递给方法来调用它:
btn_save.Visible = !balpayrolldetails.checkIfExists(anInstanceOfVariables);
但是,如果你可以接受少调用方法参数,并且你的方法是以一种可以容忍variables
和null
值的方式编写的,你可以将签名更改为:
public bool checkIfExists(Variables variables=null)
然后你可以这样称呼它:
btn_save.Visible = !balpayrolldetails.checkIfExists();