「Apress Pro LINQ: Language Integrated Query in C#」という本を読んでいて、部分メソッドに出くわしましたが、それらの必要性が本当にわかりません。
本にある例(変更前後のプロパティ)はイベントを使って実装できると思います。それで、説明はありますか?
「Apress Pro LINQ: Language Integrated Query in C#」という本を読んでいて、部分メソッドに出くわしましたが、それらの必要性が本当にわかりません。
本にある例(変更前後のプロパティ)はイベントを使って実装できると思います。それで、説明はありますか?
はい、部分メソッドと同様の効果をイベントでも実現できます。部分メソッドは、コード ジェネレーター (主にデザイナー) が生成されていないコードのフックを生成できるようにするための方法にすぎません。イベントがこの役割を果たすことができます。
ただし、特にイベントよりも部分的なメソッドには利点があります
それらは「必要」ではありませんが、大規模なアプリケーションには必要です。イベントを多用すると、ビジネス ロジックがユーザー インターフェイスと密接に結合された Smart UI のアンチパターンにつながりますが、部分的な関数を使用すると、懸念事項をより適切に分離できます。
ここには、部分メソッドに関する MSDN C# プログラミング ガイドへのリンクもあります。 http://msdn.microsoft.com/en-us/library/wa80x488.aspx
実装がない場合、コンパイラは部分メソッドの呼び出しを削除します。イベントの代わりに、リスナーを実行時にチェックする必要があります (保存する必要もあります)。これにより、特に多くの潜在的な「イベント」があり、「リスナー」が登録されているのはごくわずかである場合に、部分メソッドのパフォーマンスが向上します。
部分的なメソッドはコンパイル時に定義され、イベントは実行時に定義されます。したがって、それらは異なるものです。
制御できない既存のクラス (フレームワークの一部または自動生成) を拡張するために、部分的なメソッドが描かれました。
お役に立てれば