= Extension Methods
Jazyk C# od .NET Frameworku 3.0 umožňuje rozšířit metody nad objektem o takzvané Extension Methods, což jsou metody, které rozšiřují funkcionalitu objektu bez zásahu do kódu objektu.
Ukázkou takové metody může být například metoda, která vrací příznak, zda je hodnota libovolného objektu rovna hodnotě null či nikoliv.
namespace System
{
public static class ObjectExtensions
{
public static bool IsNull(this object o)
{
return o == null;
}
}
}
if (!myObject.IsNull())
{ … }
Extension metoda musí být statická, umístěna ve statické třídě a musí obsahovat první parametr uvozený klíčovým slovem this. Jakmile jsou tyto podmínky splněny, bude daná metoda zobrazena u všech objektů, které odpovídají prvním parametru metody, pokud danou statickou třídu vidí, tj. implementují její namespace.
Příkladem použití Extension Methods jsou například metody používané v LINQu.
Další extension metody je možné nalézt na následující adrese: http://www.extensionmethod.net/Default.aspx .