【发布时间】:2013-01-29 09:27:41
【问题描述】:
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 的数据源发生变化时,该用户控件的一个实例被添加到我的表单中,但我得到了这个错误。
错误 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,我的代码将不起作用并且我收到错误消息。我该怎么办?
【问题讨论】:
-
你已经在 2 个类中定义了这个函数。而且由于它是扩展方法,所以调用是模棱两可的(意味着编译器不知道选择哪一个)
-
-1 for this not-sentence :“我在整个项目中使用此功能来检查空文本框的 Err 它正常工作,直到我在数据源时将一个用户控件添加到我的一个 winform网格更改添加该用户控件的一个实例到我的表单,但我得到这个错误“
-
或者,您可以自己编辑问题,而不是投反对票。很高兴你解释了你的反对意见。 +1。我已经编辑了语法问题。
标签: c# user-controls