دسته بندی ها
23:50 1401/11/20

Extenstion method در سی شارپ چیست ؟ کاربرد آن چیست ؟

مشخصات سوال کننده :
کاربر : hamid_b     امتیاز کاربر : 510     رتبه کاربر : 4
دسته بندی : سی شارپ

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 1637
2 نظر
sajjadtoulabi : با سلام متدهایی هستند که متعلق به هیچگونه کلاسی نیستند و ازطریق کلاس های دیگر اضافه میشوند. در واقع متدهای Extension همانطور که از نامشان پیداست متد های اضافی هستند. میتوان متدهای Extension را به اینترفیس ها، ساختارها و کلاس ها در سی شارپ، اضافه کرد. این کار بدون تغییر و ویرایش ساختارها، کلاس ها و اینترفیس ها انجام می شود. متدهای Extension می توانند به کلاس های تعریف شده توسط برنامه نویس و یا کلاس های تعریف شده در دات نت فریمورک اضافه شوند.

امتیاز کاربر : 0   رتبه کاربر : 7020   تاریخ ثبت : 00:16 1401/11/21
sajjadtoulabi : لینک زیر توضیح به همراه مثال داده شده https://darsman.com/blog/extension-method-in-csharp/

امتیاز کاربر : 0   رتبه کاربر : 7020   تاریخ ثبت : 00:17 1401/11/21
پاسخ دهنده : Radman 02:52 1401/11/21

با درود اکستنشن متدها همانطور که از نامشان پیدا است و مشخص نمونه بارز آن  لامدا میباشد که اکستنشن متد مربوط به لینک میباشد  که خیلی به ما کمک میکنه و به داد ما میرسه مثل amount.tostring()    

یک نمونه از دستور اکستنشن متد که توسط خودمون ساخته میشه تا بتونیم در کد نویسی به راحتی ازش استفاده کنیم رو براتون میزارم

فرض کنید میخواهیم عدد را به صورت سه رقم سه رقم جدا کنیم در حالت عادی به صورت زیر عمل میکنیم

int amount;
amount=25000;
console.wrteline(amount.tostring("#,0"))
========================================================
extention metod class

public static Class MyClass
{
public static string torial(this int value)
{
return value.tostring("#,0");
}
}

 فقط نکته اون اینه که کلاس باید استاتیک تعریف بشه و کلمه کلیدی this  هم داشته باشه

از این به بعد هرجا بخواهیم سه رقم سه رقم جدا کنیم فقط کافیه به فیلد خودمون تهش .torial()  اضافه بشه 

اگر توضیحاتم کامل بود لایک کنین از منفی درام

 

به این پاسخ امتیاز بدهید    5
امتیاز: 169 رتبه: 9
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود