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

Ali*_*kar 2 c# user-controls

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;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我在我的项目中使用这个函数来验证一个空文本框。它正常工作,直到我将一个用户控件添加到我的 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


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

Nel*_*lly 5

我也有这个错误。

总是当我将项目中的控件添加到我的表单之一时,我无法再编译,因为对所有扩展方法的调用不明确。

最后我看到VS在同一个项目中添加了我项目的引用,所以编译器遇到了这个问题。那么删除您的代码无济于事,因为引用仍然存在。

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