الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الواصفة Obsolete Attribute

مغلق
بدأه محمد سامر أبو سلو في 11 يناير 2008 · 1 رد · 586 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

إليكم تقديما بسيطا لواصفة تسمى 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

تم تعديل هذه المشاركة بواسطة محمد سامر أبو سلو في 11 يناير 2008 في 23:41

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#2

وهذا مثال بسيط عن هذه الواصفة

انظر المثال التالي الذي يظهر من حالات استخدم هذه الواصفة

دقق جيدا في الفئة

Public Class TestObsolete

	Public Name As String

	' You Can Use it With Fields Also
	<Obsolete("No Longer Used")> _
	Public FName As String
	Sub New()

	End Sub

	' Defaule Obsolete usage
	<Obsolete()> _
	Public Sub Test1()

	End Sub

	' Passing A Message
	<Obsolete("Not used Anymore 2, Use Test5")> _
	Public Sub Test2()

	End Sub

	' تمرير رسالة والبارامتر الثاني يحدد أنه لايتم توليد خطأ 
	' نتيجة استخدام هذه الدالة
	<Obsolete("Not used Anymore 3, Use Test5", False)> _
	Public Sub Test3()

	End Sub

	' تمرير رسالة والبارامتر الثاني يحدد أنه سيتم توليد خطأ 
	' نتيجة استخدام هذه الدالة
	<Obsolete("Not used Anymore 4, Use Test5", True)> _
	Public Sub Test4()

	End Sub

	Public Sub Test5(ByVal abc As String)
		MsgBox(abc)
	End Sub

End Class

الآن حاول استخدامها برمجيا

انظر الكود

	Private Sub test()
		Dim a As New TestObsolete
		a.Test1()
		a.Test2()
		a.Test3()
		a.Test4()
		a.Test5("test")
	End Sub

سترى أن استخدام الدالات Test1 و Test2 و Test3 سيولد تحذيرا Warning عند ترجمة المشروع لدى محاولة تنفيذه وسيتم تنفيذ المشروع بينما استخدام الدالة Test4 سيعطي خطأ Error ولن يتم تنفيذ المشروع

انظر الصورة التالية لمحرر الكود ودقق في طريقة تسطير محرر الكود لكل من الدوال فيه post-2354-1200091415_thumb.jpg

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

هذا الموضوع مغلق.

مواضيع مشابهة