PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : باگ در متد AddDays کلاس PersianCalender در دات نت!



آبجی
14th February 2010, 01:14 AM
یکی از کاربران برنامه نویس متوجه وجود باگی در متد AddDays کلاس PersianCalender شد که نتایج اشتباهی رو برای تاریخ های شمسی در فواصلی زمانی طولانی برگشت میده.
من این مشکل رو بررسی کردم و متوجه دلیل این باگ شدم. PersianCalender از کلاس Calender ارث میبره.
متدهای AddMonths و AddYears در کلاس Calender از نوع MustOverride (در VB.NET) یا abstract (در #C) هستند.
اما متد AddDays از نوع Overridable (در VB.NET) یا virtual (در #C) هست.
بنابراین متدهای AddMonths و AddYears حتما باید Override بشن و برنامه نویس Persian Calender این کار رو کرده اما حواسش به AddDays که Override کردنش دلخواه هست نبوده!
بنابراین AddDays برای تاریخ های شمسی همانند تاریخ های میلادی عمل میکنه!!!

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد