拡張メソッドの使い方
例えば、他社から購入したライブラリは、大半はソースコードが含まれていませんし、仮にあったとしても著作権上、直接ソースコードを書き変えて販売できない場合が大半です。その様な場合、拡張メソッドを使用すれば、可読性を高め、開発効率を上げられる可能性があります。
他には、一時的に型の機能を拡張したい場合、使用するとよいでしょう。正しくオブジェクト指向開発をする場合、積極的に再利用可能な型を設計&実装しています。しかし、何事にも例外はつきものです。そのプロジェクト特有の事情で、既存の型を拡張したい場合があります。この場合、既存の型を継承したクラスを作れる時もあれば、作れない時もあります。何故ならば、継承を想定した型だけではないからです。この様な状況下では、拡張メソッドが役に立ちます。
あと、複数のメソッドが使用する、ヘルパーメソッドとして定義するとよい場合があります。プログラミングをしていると、共通した処理が発生する場合があります。この場合、ヘルパーメソッドを拡張メソッドとして定義すると、コードの可読性が向上する可能性があります。
そろそろ纏めます。拡張メソッドは、一定の状況下で役に立ちます。しかし、多用すると混乱を生みますので、よく考えて使用して下さい。