Extension methods are very powerful; they can help you move
code outside of automatically generated code, so you don't have to do any extra
maintenance work there. They also can attach methods to objects that are sealed
or not-inheritable in VB.NET. But one of the more important facts is that they
can reduce the amount of code and create reusable logic that is simpler to execute.
Extension methods, used wisely, can be a very powerful
thing, and can add a huge convenience for an application. It also encapsulates
code and can assist with code reuse by placing it in the static class where it
can be reused for every instance of the extended type.