هل يمكن لأي شخص أن يخبرني عن الفرق بين الإطار الإطار OBJ = المرسل كـ FrameworkElement و FrameworkElement OBJ = (FrameworkElement) SomeObject

StackOverflow https://stackoverflow.com/questions/2856587

سؤال

أنا جديد في البرمجة في Silverlight. هل يمكن لأي شخص أن يخبرني الفرق بين

FrameworkElement obj=sender as FrameworkElement 

و

FrameworkElement obj=(FrameworkElement)someobject 
هل كانت مفيدة؟

المحلول

FrameworkElement obj=sender as FrameworkElement 

بعد هذا الرمز ، سيكون OBJ FrameworkElement ، إذا كان نوعه هو الإطار ، أو NULL ، في حالات أخرى. هذا الرمز لن يرمي invalidcastexception.

FrameworkElement obj=(FrameworkElement)sender

هذا تحويل صريح ، ويمكن لهذه العملية رمي ملف invalidcastexception

تحويلات الصب والنوع (دليل البرمجة C#)

نصائح أخرى

نعم ، الفرق هو

FrameworkElement obj=sender as FrameworkElement دائما يعمل. إذا لم يكن المرسل من نوع إطار العمل ، فإن OBJ فارغ ، وإلا فسوف تجد الكائن المصبوب هناك.

FrameworkElement obj=(FrameworkElement)someobject ينتج مجموعة غير صالحة إذا لم يكن من الممكن إلقاء المرسل لكتابة إطار عمل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top