错误 130 - 以下方法或属性之间的调用不明确

本文关键字:之间 属性 调用 不明确 方法 错误 | 更新日期: 2023-09-27 17:56:23

public static class MyExtensions
{
    public static bool TextBoxIsEmpty(TextBox txtControl, ErrorProvider eP)
    {
        if (txtControl.Text == string.Empty)
        {
            eP.SetError(txtControl, "You must Enter something!");
            return true;
        }
        else
        {
            eP.Clear();
            return false;
        }
    }
}

我在整个项目中使用此函数来验证空文本框。它正常工作,直到我向我的一个 WinForms 添加一个用户控件。特别是,当 Grid 的数据源更改时,该 User 控件的实例将添加到我的窗体中,但我收到此错误。


错误 129 调用在以下方法或属性之间不明确:"DominateVehicle.Class.MyExtensions.TextBoxIsEmpty(System.Windows.Forms.TextBox, System.Windows.Forms.ErrorProvider)"

和"DominateVehicle.Class.MyExtensions.TextBoxIsEmpty(System.Windows.Forms.TextBox, System.Windows.Forms.ErrorProvider)" D: ''Vechel_Dominate''a''DominateVehicle''frmDefectClass.cs 30 41 DominateVehicle


我不知道添加用户控件和此错误之间有什么关系?如果我删除用户控件,我的代码不起作用,并且出现错误。我该怎么办?

错误 130 - 以下方法或属性之间的调用不明确

我也有这个错误。

每当我在项目中将控件添加到我的一个窗体时,由于对所有扩展方法的不明确调用,我无法再编译。

最后我看到VS将我的项目引用添加到同一项目中,因此编译器对此遇到了问题。然后删除代码没有帮助,因为引用仍然存在。

我可以通过从我的项目中删除此引用来解决问题。也许这对其他人有帮助。

此函数在两个位置定义。检查一下。编译器不知道要调用哪一个。在解决方案中查找。此名称将有两个函数。