Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 错误 ;130-以下方法或属性之间的调用不明确_C#_User Controls - Fatal编程技术网

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

C# 错误 ;130-以下方法或属性之间的调用不明确,c#,user-controls,C#,User Controls,我在整个项目中都使用此函数来验证空文本框。它正常工作,直到我将一个用户控件添加到我的WinForms之一。特别是,当网格的数据源发生更改时,该用户控件的一个实例将添加到我的表单中,但我得到了这个错误 错误129以下方法或属性之间的调用不明确:“DominateHicle.Class.MyExtensions.TextBoxiEmpty(System.Windows.Forms.TextBox,System.Windows.Forms.ErrorProvider)”和“DominateHicle

我在整个项目中都使用此函数来验证空文本框。它正常工作,直到我将一个用户控件添加到我的WinForms之一。特别是,当网格的数据源发生更改时,该用户控件的一个实例将添加到我的表单中,但我得到了这个错误


错误129以下方法或属性之间的调用不明确:“DominateHicle.Class.MyExtensions.TextBoxiEmpty(System.Windows.Forms.TextBox,System.Windows.Forms.ErrorProvider)”和“DominateHicle.Class.MyExtensions.TextBoxiEmpty(System.Windows.Forms.TextBox,System.Windows.Forms.ErrorProvider)”'D:\Vechel\u Dominate\a\dominatevhicle\frmDefectClass.cs 30 41 dominatevhicle


我不知道添加用户控件与此错误之间有什么关系?
如果我删除UserControl,我的代码将不起作用,我将得到一个错误。我该怎么办?

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

我也有此错误

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

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


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

您已经在两个类中定义了此函数。因为它是一个扩展方法,所以调用是不明确的(意味着编译器不知道选择哪一个)-1对于这个not语句:“我在整个项目中都使用此函数来检查空文本框的错误。当网格更改的数据源将该用户控件的一个实例添加到我的窗体中时,它会正常工作,直到我将一个用户控件添加到我的winform中,但我收到此错误或者,你可以自己编辑问题,而不是投反对票。很高兴你解释了你的反对票+1.我已经编辑了语法问题。我检查了我所有的项目。这个函数就在那个类中!
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;
        }
    }
}