2013/04/25(Thu) 23:34:29 編集(投稿者)
ボタンごとに異なるデリゲートを渡す関数を作っててやればいいでしょう。
private void button1_Click(object sender, EventArgs e)
{
TryActionWithValidation(() => { MessageBox.Show("Button1です。"); });
}
private void button2_Click(object sender, EventArgs e)
{
TryActionWithValidation(Hello);
}
private void Hello()
{
MessageBox.Show("Hello!");
}
private void TryActionWithValidation(Action action)
{
if (Validate())
{
MessageBox.Show("検査エラーです。");
return;
}
try
{
action();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}