Great question. However, extension methods are not replacements for Decorators. Here is why:
Extension methods are static methods that are compiled in and are not changeable at runtime.
The Decorator allows you to wrap a class inside another class and change its behavior (dynamically) -- something you couldn't do with a static extension method.
Hope this helps.
Jack Poorte, Sep 22, 2013