عامل التشغيل TryCast
يقدم عملية تحويل نوع لاتقوم بطرح استثناء.
ملاحظات
إذا فشلت محاولة تحويل، يقوم كلا CType و DirectCast بطرح الخطأ InvalidCastException. قد يأثر ذلك بشكل سلبي على أداء التطبيق الخاص بك. يقوم TryCast بإرجاع لا شيء (Visual Basic)، لذلك بدلاً من الاضطرار إلى معالجة استثناء محتمل, تحتاج فقط إلى اختبار النتائج التي تم إرجاعها مقابل Nothing.
استخدم الكلمة الأساسية TryCast بنفس الطريقة التي تستخدم الكلمة الأساسية دالة CType و عامل DirectCast. توّفر تعبير كوسيطة الأولى و نوع لتحويله بوصفها وسيطة الثانية. TryCast يعمل فقط على أنواع المرجع مثل فئات وواجهات. تتطلب علاقة توريث أو تطبيق بين النوعين. وهذا يعني أنه يجب أن ترث من نوع واحد أو تطبق الأخرى.
الفشل و الأخطاء
TryCast ينشئ خطأ في المحول البرمجي إذا اكتشف وجود أية علاقة توريث أو تطبيق. ولكن عدم وجود خطأ في المترجم لا يضمن تحويلاً ناجحاً. إذا كان تضييق التحويل مطلوباً, فقد يفشل في تشغيل الوقت. إذا حدث هذا، يقوم TryCast بإرجاع لا شيء (Visual Basic).
كلمات التحويل الأساسية
مقارنة بين تحويل نوع الكلمات الأساسية كما يلي.
Keyword |
أنواع البيانات |
علاقة وسيط |
فشل وقت التشغيل |
---|---|---|---|
أي أنواع بيانات |
يجب تعريف التوسيع أو تضييق التحويل بين أنواع بيانات |
يطرح InvalidCastException |
|
أي أنواع بيانات |
يجب أن ترث من نوع واحد أو تطبيق نوع آخر |
يطرح InvalidCastException |
|
TryCast |
فقط أنواع المرجع |
يجب أن ترث من نوع واحد أو تطبيق نوع آخر |
يرجع لا شيء (Visual Basic). |
مثال
يعرض المثال التالي كيفية استخدام TryCast.
Function PrintTypeCode(ByVal obj As Object) As String
Dim objAsConvertible As IConvertible = TryCast(obj, IConvertible)
If objAsConvertible Is Nothing Then
Return obj.ToString() & " does not implement IConvertible"
Else
Return "Type code is " & objAsConvertible.GetTypeCode()
End If
End Function