إليكم تقديما بسيطا لواصفة تسمى Obsolete وهي مفيدة عندما تقوم بعمل نسخة مطورة من فئة معينة أنت تستخدمها فقد تكون هناك بعض العناصر - دالة أو وظيفة مثلا - في تلك الفئة تريد إزالتها ووضع دالة بديلة عنها هنا يمكنك استخدام الواصفة المذكورة لتعليم ذلك العنصر أنه لم يعد مستخدما وربما تمرر له قيمة نصية تظهر للمبرمج الذي يستخدم هذه الفئة بأن يستخدم دالة أخرى مثلا عوضا عنها
وإذا نظرنا لتعريفها في مكتبة MSDN سنرى
اقتباسMarks the program elements that are no longer in use. This class cannot be inherited
تقوم بتعليم عنصر في البرنامج بأنه لم يعد مستخدما. وهذه الفئة لايمكن الوراثة منها
وهي تأتي بأحد ثلاث صيغ
--- الأولى
ObsoleteAttribute()
مثال
<ObsoleteAttribute()> Public Function OldFunction() As String Return "This is the String from old function." End Function 'OldFunction
--- الثانية
ObsoleteAttribute(String)
حيث يمرر لها بارامتر عبارة عن رسالة نصية تتضمن حلا بديلا لاستخدام هذا العنصر
مثال
<ObsoleteAttribute("This function will be removed from future Versions.Use another function 'NewFunction'")> _
Public Function OldFunction() As String
OldFunction= "This is the String from old function."
End Function 'OldFunction--- الثالثة
ObsoleteAttribute(String, Boolean)
حيث يمرر لها بارامتر أول يكون عبارة عن رسالة نصية تتضمن حلا بديلا لاستخدام هذا العنصر ويحدد البارمتر الثاني فيما إذا كان يجب اعتبار استخدام هذا العنصر خطأ
مثال
- استخدام العنصر لايعتبر خطأ
<ObsoleteAttribute("This function will be removed from future Versions.Use another function 'NewFunction'", False)> _
Public Function OldFunction() As String
OldFunction= "This is the String from old function."
End Function 'OldFunction-- استخدام العنصر يعتبر خطأ
<ObsoleteAttribute("This function will be removed from future Versions.Use another function 'NewFunction'", True)> _
Public Function OldFunction() As String
OldFunction= "This is the String from old function."
End Function 'OldFunction