توابع الحاقی 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));

    }


لینک دانلود فایل های این پکیج


}

رحیم لطفی

رحیم لطفی

139 دانشجو
25 دوره آموزشی
برنامه نویسی و برنامه نویس ها را دوست دارم. من اعتقاد دارم مهندس کامپیوتری که برنامه نویسی نمی داند مانند سربازی است که اسلحه ندارد. برنامه نویس خوب در هیچ شرایطی و هیچ جایی بیکار نمی ماند.برنامه نویسی عملی مقدس است زیرا برنامه نویس در تمام لحظات نوشتن برنامه در حال فکر کردن می باشد( رسول خدا(ص) فرمود: تَفَکُّرُ ساعَةٍ خَیْرٌ مِنْ عِبادَةِ سَبْعینَ سَنَةً؛ یک ساعت اندیشیدن بهتر است از هفتاد سال عبادت .).فروش یک سال نرم افزار کشور هند برابر با فروش 10 سال نفت ایران است ( قضاوت باشما!).درنهایت انسان ها دو دسته اند یا برنامه نویسی را می فهمند یا نمی فهمند. برنامه نویسی مثل صحبت کردن است همه می توانند صحبت کنند اما مهم خوب صحبت کردن است(برنامه نویس خوب بودن مهم است). بنظر،کسی که دردنیای امروزی ،برنامه نویسی نداند،بیسواداست.، فرزند زمان خویش باشید.یادگیری برنامه نویسی کشش نمی خواهد،روش میخواهد.ایران از نظر مهندس و دکترا ی تئوری اشباع شده است ما نیازمند مهندسین عملی هستیم و در آخر یادمان باشد دانشجوی خوب وبد وجود ندارد چیزی که وجود دارد استاد خوب وبد هست.
نظری وجود ندارد! شما اولین نفر باشید!
جهت ثبت نظر باید در سایت عضو شوید و یا وارد سایت شده باشید .
رایگان
  • طول دوره
    0 قسمت
  • فصل ها
    1
  • دانشجویان
    4
  • زبان
    فارسی
  • سطح آموزش
    متوسط
  • وضعیت دوره
    کامل
  • مدت زمان
    1 ساعت
  • حجم
    35M