Common Mistake #6: Getting confused or faked out by extension methods
Hm.
While there certainly are advantages to using extension methods, they can cause headaches and wasted time for those developers who aren’t aware of them or don’t properly understand them. […]
Even developers who are familiar with extension methods still get caught occasionally, when there is a method with the same name on the object, but its method signature differs in a subtle way from that of the extension method.
Extension Methods ein “Common Mistake”? Ist das so? Vielleicht für den einen oder anderen. Gelegentlich. Aber “Common”? Nicht nach meiner Erfahrung.
Extension Methods werden im Visual Studio über Intellisense kenntlich gemacht und F12 (“go to definition”) tut ein Übriges.
Dazu kommt, dass Extension Methods nicht nur Teil des Fundamentes von LINQ sind, sondern mittlerweile auch ASP.NET MVC reichlich Gebrauch davon macht. Mit häufigem Nutzen kommt aber auch Übung.
Ergo: Natürlich muss man Extension Methods mal verstanden haben. Das ist aber nach meiner Erfahrung kein echtes Problem. (Für das Schreiben eigener Extension Methods mag anderes gelten.)