05-10-12, 01:25 PM
كاتب المشاركة : silverlight
الأخ الفاضل إسلامشكرا علي مرورك وعلي الكود
لكني أعقد أنه لا يوجد فارق كبير بين اسخدام Enum.Prase و ُEnum.TryPrase فكلاهما يقوم بتحويل String الخاص بالعناصر الموجودة في Enum من قيمة أو إسم الي Object
عموما الفارق بين الدالتين ضئيل فأحدهما وهي Enum.Prase تطلق Exception في حالة إذا كانت القيم التي تم تمريرها ليست Enum أما الأخري فهي تسترجع Boolean يحدد نجاح الدالة في تحويل عناصر Enum لأنها تعتمد علي جملة Try......Catch وبالتالي فهي لا تطلق Exception في حالة تمرير قيم أخري غير Enum ويفضل استخدام TryPrase في حالة أننا لم نكن متأكدين أن القيمة التي تم تمريرها ليست Enum بشكل عام وفي كلتا الحالتين الدالة ستعود بنفس القيمة المطلوبة لأننا نمرر لها القيمة بالشكل الصحيح
علي سبيل المثال في الكود الموجود بالمشاركة رقم 7 لن يتم إطلاق Exception وتحديدا في السطر التالي من الكود
كود :
styledock = StringToEnum(Of DockStyle)(Me.ComboBox1.SelectedItem.ToString, True)كود :
styledock = StringToEnum(Of DockStyle)(Me.ComboBox1.SelectedItem, True)Enum.TryParse
بالنهاية وبصفة شخصة أنا أفضل استخدام Enum.Prase لأنها تطلق Exception وبالتالي فهي مفيدة في مرحلة Design
تقبل تحياتي
