Object-oriented Programming in C# Data Access, Properties, and Methods
Extension Methods
Have you ever wanted to add a new method to an existing class, without defining a subclass?
If so, extension methods - as introduced in C# 3.0 - is the solution to your problem.
In C# 3.0 an extension method defines an instance method in an existing class
without altering the definition of the class.