C#3.0 の拡張メソッドの怖いお話。拡張メソッドと静的メソッドは構文の字面だけの違いで、ほかは同じだよと言われることが多いけど、実は違います。仕様書に書いてはあるけど、はっきり注意を喚起していないので。拡張メソッドの仕様はこちら。 念のため引用。「拡張メソッドは、インスタンス メソッドに比べて、見つけにくく、機能も限られています。このため、拡張メソッドの使用はできるだけ控え、インスタンス メソッドが適していない場合や使用できない場合にのみ使用することをお勧めします。」拡張メソッドは飛び道具だから振り回さないほうがイイですね。 関連ネタ : id:siokoshou:20070901#p2, id:siokoshou:20070903#p1 via http://blogs.msdn.com/sreekarc/archive/2007/10/11/consequences-of-conve