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等)。