X
تبلیغات
رایتل

  Extension Methods


  دوشنبه 2 بهمن‌ماه سال 1391
Extension methods شما را قادر می‌سازند تا به type‌های موجود بدون اینکه کلاس جدیدی ایجاد کنید که از آن‌ها به ارث رفته باشند، متد‌های جدیدی اضافه نمائید و بیشترین استفاده آن‌ها در  System.Collections.IEnumerable است.

به طور مثال این امکان وجود ندارد که بتوان بر روی  IEnumerable‌ها از دستور Foreach استفاده کرد.

برای نمونه من برای اینکه foreach داشته باشم، آن‌را به لیست تبدیل می‌کردم و سپس از امکان foreach  بهره‌مند می‌شدم که شاید کار درستی نباشد. 

اما با Extension Method افزودن متد foreach به IEnumerable به نحو زیر میسر است:

public static void ForEach<T>(this IEnumerable<T> collection, 
Action<T> action)
{
   foreach (var item in collection)
{
    action(item);
}
}


• لیست کاملی از Extension Method های ایجاد شده در دات نت فریم ورک