2009-03-16 9 views
6

今週の2回、私は、イベント(.net)が "スローされた"という内容の記事を読んでいます。私はいつもイベントで使う動詞は "火"か "上げる"のいずれかだと考えました。私は "スローされた"が例外ではなくイベントで使用されたと考えました( "raise"はどちらでも使用できます)。用語 - イベントを「スロー」できますか?

他の誰かがイベントが「スローされる」のが混乱していますか?

+2

いいえ、彼らは投げることはできませんが、ドワーフやホビットのように投げられる可能性があります。 –

答えて

18

私は同意すると、イベントは発生/発生/トリガーされます。何かがスローされた場合は例外です。

+0

私はおしゃべりや例外を言っていると思いました! –

+0

ハムスターと言うのは病気ですか? – Xetius

3

Raiseは、MSDNドキュメントで最も一般的なように見える動詞です。

私は同意します。何かがスローされたと聞いたら、例外であると思います。 C#言語はそれを非常に明示的なものにします - throwは例外と共に使用される予約語です。

1

一般的に、イベントが発砲されたり起き上がったりするのを人々が参照しています。しかし、スローされた私の意見では完全に良いです。彼らがイベントが投げ出されたと主張するなら、鍵があります。

多くの髪に分解したり分解したりしないでください。私たちの職業は、何千もの技術だけで十分に複雑で、コミュニケーションの仕方の微妙なニュアンスについては考えません。

+0

+1 - 人が何を言いたいのかがはっきりしている限り、心配するべきではありません。 –

5

もう1つの用語は、「呼び出し」です。イベントはデルゲートなので、呼び出すために呼び出されますが、一般的な用語は「起動」または「発生」です。

また、この文脈で「throw」という語を使用すると、「throw」キーワードと混同されるため混乱します。 throwキーワードでイベントをスローすることはできません。

3

throw例外はありませんが、throwは例外でのみ使用することができます。 Raiseは実際にイベントが発生したことを示すために使用する用語です。

3

いいえ、スローすることはできませんが、ドワーフやホビットのように投げられる可能性があります。

1

は、イベントを公開しています。

2

イベントはスローされる可能性がありますが、実際に行うと無能なコーディングです。

私を説明しましょう。 C + +では任意の型をスローすることができます。ブーリアンを投げることができます。 enum error_typeを投げることができます。 std::exceptionを投げることができます。もちろん、struct XEventを投げることができます。

しかし、あなたが実際に行うことは恐ろしく間違っているか、ひどく混乱している(ひいては間違っている)ことがあります。

私はすべて、あいまいさを避けるために(存在しなくてもよい)単語の意味を過負荷にしないためのものです。

"スロー"は、コールスタックの巻き戻しを暗示すると一般に理解されていると思います。(明確なスタックがある場合は、無限のin-degreeの単独リンクされたリストに拡張することができます。親ポインタのツリー)。それに固執しましょう。

"raise"という語句も信号に使用されます。イベントにもこれを使用することを避けることができればいいですね。

イベントリスナーがコンシューマに通知すると(「XMouseMotionNotifyイベントがクライアントに通知されました」)イベントが発生したとき(「onMouseOverイベントがただちに起動しました」)、「通知された」場合があります。

関連する問題