0

列挙型イベントよりもクラス型イベントを使用する利点は何ですか?

当初、Prismのようなクラス型のイベントを使用する方が、コンパイル時にイベントをチェックできるため、より良いと思いました。しかし、いくつか考えた後、これは文字列で引用されたイベントにのみ適用されるようです。列挙型イベントも大丈夫のようです。コンパイル時にチェックすることもでき、リファクタリングも非常に簡単です。

クラスタイプのイベントとは、次のような意味です。

eventAggregator.GetEvent<MouseEvent>.Publish(eventArgs);

列挙型イベントは次のようになりますが(Flexのイベントがどのように機能するかなど):

eventAggregator.Publish(MouseEvent.Double_Click, eventArgs);

次に、列挙型イベントよりもクラス型イベントを使用することの長所と短所は何ですか?そして、列挙型イベントの欠点は何ですか?

4

1 に答える 1

0

列挙型イベントが多少のメリットをもたらす唯一のケースは、多数のイベントが同じコード片をトリガーする必要がある場合です。ただし、この小さな利点は、各イベントが異なるコードをトリガーする必要がある場合のより一般的な欠点と比較すると、取るに足らないものです。開発者がアプリケーション内で複数のイベントを同義にすることを想像できる場合、何らかのライブラリを作成していると仮定すると、それはイベントがあまり明確に定義されておらず、おそらく再設計に耐えることができるというかなり良い兆候です。

于 2012-12-13T10:19:20.977 に答える