توابع الحاقی Extension method
توابع الحاقی (Extension method) یک ویژگی جدید می باشد که در C# 3.0 اضافه شده است. Extension methodها توابع هستند که به کلاس های یا انواع داده های نوشته شده از قبل، اضافه می شوند بدون نیاز به کامپایل، وراثت یا دست کاری کد های قبلی، حتی اگر کد کلاس یا دیتا تایپ DataType در دسترس نباشد باز با استفاده از method Extension شما قادر به اضافه کردن متد های جدید هستید. Extension methodها یک سری توابع Static داخل کلاس استاتیک جدای می باشند که به نوع داده مورد نظر(که با کلمه کلیدی This مشخص میشود) اضافه میشوند.
توابع الحاقی (Extension method)
توابع الحاقی (Extension method) یک ویژگی جدید می باشد که در C# 3.0 اضافه شده است. Extension methodها توابع هستند که به کلاس های یا انواع داده های نوشته شده از قبل، اضافه می شوند بدون نیاز به کامپایل، وراثت یا دست کاری کد های قبلی، حتی اگر کد کلاس یا دیتا تایپ DataType در دسترس نباشد باز با استفاده از method Extension شما قادر به اضافه کردن متد های جدید هستید. Extension methodها یک سری توابع Static داخل کلاس استاتیک جدای می باشند که به نوع داده مورد نظر(که با کلمه کلیدی This مشخص میشود) اضافه میشوند.
بیشتر وقت ها فکر می کردم ای کاش کلاس dateTime تابع ای داشته باشد که تاریخ شمسی را برگرداند یا اینکه یک تابع ای داشته باشد که تاریخ را فقط به صورت عدد(بدون عدد علامت "/" ) برگرداند. یا برای کلاس String متد های کمکی حذف فاصله های داخل متن باشند.
برای تعریف یک Extension method باید موارد زیر را در نظر داشت.
1- کلاس باید از نوع Static باشد.
2- توابع باید . Extension method باید از نوع Static باشند.
3- یک ورودی از نوع DataType مقصد داشته باشیم که با کلمه کلیدی This مشخص شده باشد
در زیر یک نمونه . Extension method متد آمده است که یک تابع تاریخ شمسی را به شئ datetime اضافه می کند.
using System.Globalization;
static class AddToDateTime
{
public static string ToShamsi(this DateTime dt)
{
PersianCalendar pc = new PersianCalendar();
return string.Format("{0}/{1}/{2}",
pc.GetYear(dt),
pc.GetMinute(dt),
pc.GetDayOfMonth(dt));
}
}
رحیم لطفی
-
طول دوره
0 قسمت -
فصل ها
1 -
دانشجویان
4 -
زبان
فارسی -
سطح آموزش
متوسط -
وضعیت دوره
کامل -
مدت زمان
1 ساعت -
حجم
35M