منسوخ شدن كد فرآيند روتينی است كه از زمانی كه برنامه نويس شروع به توسعه و پياده سازی كد می كند شروع می شود تا زمانی كه مجبور به deprecate كردن بخشی از كد می شود.
اگر كد ما به صورت Internal باشد كه راحت اقدام به حذف يا تغيير آن مي كنيم. مشكل زمانی نمايان می شود كه كد ما به صورت external در اختيار تعدادی استفاده كننده می باشد همانند متدهای موجود در يك API كه در اختيار تعداد زيادی كاربر استفاده كننده می باشد ، در همچين شرايطی با حذف يك يا چند متد بدون اطلاع رسانی قبلی ممكن است فرآيند دچار اختلال اساسی شود كه گاهی جهت برگشت به شرايط stable بايد هزينه زيادی را متحمل شويم.
يكی از راه های پيشنهادی جهت depricate كردن يك متد استفاده از Attribute به اسم [Obsolete] می باشد .
زمانی كه تصميم به depricate كردن كد گرفتيم در اولين ورژن جديد مي توانيم به كابران استفاده كننده اعلام كنيم كه متد مورد استفاده بزودی از دسترس خارج می شود و با يك warning استفاده كننده را مطلع كنيم.
[Obsolete("This method will be unavailable soon ")]
Public String PrintFullName( ) => $ " Aram Rahmani " ;
همچنين شما می توانيد سطح Warning را به Error تغيير دهيد و مانع استفاده از متد مورد نظر شويد.
[Obsolete(" This method will be unavailable soon " , true )]
Public String PrintFullName( ) =>$ " Aram Rahmani "