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...
            }
        } 

もう1つのバージョンは、次のようにエントリに直接アクセスすることです。

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...
    }
}

... 2番目のバージョンの方がより直接的であるように見えますが、どちらか一方がより「正しいコード形式」と見なされますか?

4

1 に答える 1

1

私は一番上のものをやりたいです- (sender as Gtk.Entry)。そうすれば、そのエントリの機能をアプリケーションの別の場所に複製する必要がある場合に、シグナルハンドラを再利用できます。

于 2012-04-28T15:55:18.910 に答える