Extension(или разширяващите) методи се използват, когато имаш вече компилирана библиотека, най-често чужда, и нямаш достъп до кода в нея. С extension методите можеш да добавиш своя функционалност към даден клас без да се налага да пипаш по кода вътре в него и да се налага ново компилиране.
За пример ще използвам класа String. Той е вграден в .NET и не можеш да променяш нищо по него. За създаването на extension метод ти трябват няколко стъпки:
static class ExtensionMethods
{
}
- Създаваш статичен метод, който за първи параметър приема типа, който искаш да разшириш, като преди него използваш this:
public static void MyExtensionMethod(this String str)
{
Console.WriteLine("My extension method is working!");
}
Общо взето това е. Остава само да го извикаш.Те се дефинират статични, но се извикват като инстанционни.
string a = "";
a.MyExtensionMethod();
Като резултат на конзолата ще се изпише „My extension method is working!"