PDA

View Full Version : obsolete در تعریف متد یعنی؟



mazaher5723
شنبه 26 فروردین 1391, 11:26 صبح
[Obsolete("Helloooo")]
public int x(int z)
{
return z + 2;
}
این obsolete برا چی استفاده میشه من فقط دونستم بالا متد هم میشه اینو نوشت این چیه؟

gsearch
شنبه 26 فروردین 1391, 15:13 عصر
به خاطر تغییراتی که در دانت فریمورک ایجاد می شه و تکنولوژی های جدیدی که معرفی می شن، یه سری از کلاس ها و توابع (به خاطر ارائه کلاسها و توابع جدید) به نوعی منسوخ می شن.

علت اینکه چرا حذفش نمی کنه هم معلومه. (پشتبانی از برنامه های قبلی)
حالا توی دات نت برای اینکه به برنامه نویس بگه که از این نوع استفاده نکنه، اون رو با خصیصه obsolete نشانه گذاری میکنه.

در واقع هنگام استفاده از کلاس ها و توابعی که با این خصیصه نشان گذاری شدند، ویژوال استدیو به شما پیغامی می ده که از اون استفاده نکرده و معمولا مورد جایگزین رو هم معرفی می کنه.

نحوه استفاده از اون هم به این شکله:


[Obsolete("message", false)]

به جای message اطلاعاتی در مورد جایگزین اون می نویسند.
آرگومان دوم هم مشخص کننده سطح پیغامه. اگه false باشه warning می ده، اگه true باشه Error می ده.

mazaher5723
شنبه 26 فروردین 1391, 16:05 عصر
ممنونم از لطفتون بسیار جالب گفتین.
با تشکر مظاهر