عامل التشغيل TryCast

يقدم عملية تحويل نوع لاتقوم بطرح استثناء.

ملاحظات

إذا فشلت محاولة تحويل، يقوم كلا CType و DirectCast بطرح الخطأ InvalidCastException. قد يأثر ذلك بشكل سلبي على أداء التطبيق الخاص بك. يقوم TryCast بإرجاع لا شيء (Visual Basic)، لذلك بدلاً من الاضطرار إلى معالجة استثناء محتمل, تحتاج فقط إلى اختبار النتائج التي تم إرجاعها مقابل Nothing.

استخدم الكلمة الأساسية TryCast بنفس الطريقة التي تستخدم الكلمة الأساسية دالة CType و عامل DirectCast. توّفر تعبير كوسيطة الأولى و نوع لتحويله بوصفها وسيطة الثانية. TryCast يعمل فقط على أنواع المرجع مثل فئات وواجهات. تتطلب علاقة توريث أو تطبيق بين النوعين. وهذا يعني أنه يجب أن ترث من نوع واحد أو تطبق الأخرى.

الفشل و الأخطاء

TryCast ينشئ خطأ في المحول البرمجي إذا اكتشف وجود أية علاقة توريث أو تطبيق. ولكن عدم وجود خطأ في المترجم لا يضمن تحويلاً ناجحاً. إذا كان تضييق التحويل مطلوباً, فقد يفشل في تشغيل الوقت. إذا حدث هذا، يقوم TryCast بإرجاع لا شيء (Visual Basic).

كلمات التحويل الأساسية

مقارنة بين تحويل نوع الكلمات الأساسية كما يلي.

Keyword

أنواع البيانات

علاقة وسيط

فشل وقت التشغيل

دالة CType

أي أنواع بيانات

يجب تعريف التوسيع أو تضييق التحويل بين أنواع بيانات

يطرح InvalidCastException

عامل DirectCast

أي أنواع بيانات

يجب أن ترث من نوع واحد أو تطبيق نوع آخر

يطرح 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

راجع أيضًا:

المبادئ

توسيع و تضييق التحويلات

تحويلات ضمنية و صريحة