1
我有一个用户控制,我想谁滴在WinForm的用户控件的开发人员,可这个用户控件一样东西有没有更好的方法来实现“自定义”业务验证器?
我想知道,如果我是一个好方法之前测试的一些值,如果有更好的如何做到这一点?
其实在我的用户控件中,我有一个List<IValidator>
这是公开公开的集合,给开发者可以添加IValidator
已经实现。该接口只实现了一个bool Validate()
方法。
用户控件有一个名为Validate()
的方法,它在List<IValidator>
集合上迭代并调用Validate()方法。
下面是代码:
public partial class MyUserControl : UserControl
{
private SqlConnection _connection;
private List<IValidator> _validators;
private void button1_Click(object sender, EventArgs e)
{
Validate();
}
private bool Validate()
{
foreach (IValidator validator in this.Validators)
{
validator.Validate();
}
}
public List<IValidator> Validators
{
get { return _customValidators; }
set { _customValidators = value; }
}
}
而且在WinForm承载用户控件的代码:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Validator val1 = new Validator();
myUserControl1.Validators.Add(val1);
}
}
public class Validator : IValidator
{
public bool Validate()
{
return true;
}
}
如果有可能被“改良”或“简化”我就知道(顺便说一句,没有实现接口)与C#3语法(lambda等)。