0

我正在使用 MVP 模式开发 WinForms 应用程序。我想将按钮单击的标记值传递给演示者。因为我想获得button.Tag属性,所以我需要 sender 参数是 type Button。如果不这样做,我怎么能做到这一点:

private void button0_Click(object sender, EventArgs e)
{
    if (sender is Button)
    {
        presenter.CheckLeadingZero(sender as Button);
    }
}

我不得不将对象向下转换为方法参数中的按钮。

4

1 回答 1

3

is如果您只是要使用关键字,则使用关键字检查类型是没有意义的as,因为无论如何都会as进行检查,然后进行显式转换。is相反,您应该这样做:

Button button = sender as Button;
if (button != null)
{
  presenter.CheckLeadingZero(button);
}
于 2009-01-18T04:06:05.620 回答