منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : معلومة : TryCast مهمة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
كاتب الموضوع : BADRMEDIA

محكمة

بسم الله الرحمن الرحيم

نفتتح جلستنا اليوم بسماع أقوال الدفاع

=============================

كنا قبل أن يظهر المتهم FrameWork 2 نعيش فى شقاء فإذا أردنا أن نقوم بتحويل كائن إلى نوع أخر

كان هناك طريقتين

كمثال


كود :
Dim Q As VB4ARAB

Q = CType(BADRMEDIA, VB4ARAB)

Q = DirectCast(BADRMEDIA,VB4ARAB)

فى الأولي كنا نريد تغيير الكائن BADRMEDIA إلي VB4ARAB

فاستخدمنا المنطوق Ctype وهو يقوم بالمهمة



فى الثانية استخدمنا المنطوق DirectCast

سيقوم بذلك لكن له شرط ان تكون هناك علاقة وراثية بين الكائنين
أو Implementation بين الكائنات



كل هذا لطيف وما فى مشكلة لكن سيدى القاضى إذا حدث خطأ أثناء التحويل كانت الاصدارات السابقة

تعلن العصيان والتمرد وتعلن Exception


فجاء هذا الاصدار المتهم بشئ جديد وهو تعبير TryCast الذى يحل محل الاثنان القدامى

وكما أنه لا يعطي Exception اذا ما حدث خطأ أثناء التحويل Conversion بل يعيد لنا الكائن الذي أردنا تغييره يساوي NoThing مما يعطينا تحكم أفضل في الكود


مثال



كود :
Q = TryCast(BADRMEDIA, VB4ARAB)

If Q IsNot Nothing Then

MSGBOX( Haaaaaa Haaaaaaaaaaa Nice Conversion)

End If


أرأيت سيدي القاضى البساطة والقوة - تحويل دون مشاكل


===========================

بعد الاطلاع على الأدلة تم الموافقة على الافراج عن المتهم ونشر مواده التعليمية


للاطلاع على حيثيات القضية ومنطوق الحكم يرجي زيارة سرايا محكمة MSDN


http://msdn2.microsoft.com/en-us/lib...x8(VS.80).aspx