1

从事件的“发送者”获取信息的更好形式是什么?要转换为已知发件人的类型,还是直接使用名称?我怀疑铸造会是更好的形式,但如果你知道这个名字,这似乎是一种相当迂回的处理方式。以下是我正在考虑的示例:

protected void OnEntry1Changed (object sender, System.EventArgs e) {
            if ((sender as Gtk.Entry).Text != "some specific value" && (sender as Gtk.Entry).Text != "" && anotherEntry.Text !="") {
                //  Do some stuff here...
            } else {
                // Do some other stuff here...
            }
        } 

另一个版本是像这样直接访问条目:

protected void OnEntry1Changed(object sender, System.EventArgs e) {
    if (Entry1.Text != "some specific value" && Entry1.Text != "" && anotherEntry.Text !="") {
        //Do some stuff here...
    } else {
        // Do some other stuff here...
    }
}

...似乎第二个版本会更直接,但是一个或另一个被认为更“正确的代码形式”?

4

1 回答 1

1

我宁愿做第一名 - (sender as Gtk.Entry)。这样,如果您必须在应用程序的其他地方复制该条目的功能,您可以重用信号处理程序。

于 2012-04-28T15:55:18.910 回答