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