تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مقال- أفكار في الدوت نت Enum
#7
كاتب المشاركة : Islam Ibrahim

شكرًا لك.

لكن ما دمت قد استخدمت Generics فأنا أفضل في هذه الحالة استخدام Generic TryParse Method الموجودة في الكلاس Enum ولكن تحتاج في هذه الحالة لإضافة Generic Constraint ليكون النوع T عبارة عن Value Type لأن ال Enum هي عبارة عن Value Types :


كود :
[color=#000000][COLOR=#0000bb]    [/color][color=#007700]public static class [/color][COLOR=#0000bb]EnumExtensions
    [/COLOR][COLOR=#007700]{  
        public static [/COLOR][color=#0000bb]T ToEnum[/color][color=#007700]<[/color][color=#0000bb]T[/color][color=#007700]>([/color][color=#0000bb]this string enumValue[/color][COLOR=#007700],  
            [/COLOR][color=#0000bb]bool ignoreCase[/color][COLOR=#007700])
            [/COLOR][color=#0000bb]where T [/color][color=#007700]: [/color][COLOR=#0000bb]struct    
        [/COLOR][COLOR=#007700]{
            [/COLOR][color=#0000bb]T value[/color][COLOR=#007700];
            if ([/COLOR][color=#0000bb]Enum[/color][color=#007700].[/color][color=#0000bb]TryParse[/color][color=#007700]<[/color][color=#0000bb]T[/color][color=#007700]>([/color][color=#0000bb]enumValue[/color][color=#007700], [/color][color=#0000bb]ignoreCase[/color][color=#007700], [/color][color=#0000bb]out value[/color][COLOR=#007700]))
                return [/COLOR][color=#0000bb]value[/color][COLOR=#007700];
            return default([/COLOR][color=#0000bb]T[/color][COLOR=#007700]);
        }

    }  
[/COLOR][color=#0000bb][/color][/COLOR]

ويمكن استخدامها في هذه الحالة مع أي String بالطريقة التالية , وفي حال لم تكن القيمة المدخلة صحيحة سيقوم بإرجاع القيمة الافتراضية (التي تحمل الفيمة 0 عادةً) .


كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]var [/color][color=#0000bb]enumValue [/color][color=#007700]= [/color][color=#dd0000]"None"[/color][color=#007700].[/color][color=#0000bb]ToEnum[/color][color=#007700]<[/color][color=#0000bb]DockStyle[/color][color=#007700]>([/color][color=#0000bb]true[/color][COLOR=#007700]);  
[/COLOR][color=#0000bb][/color][/COLOR]
}}}
تم الشكر بواسطة:


الردود في هذا الموضوع
مقال- أفكار في الدوت نت Enum - بواسطة Raggi Tech - 05-10-12, 01:20 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  التعامل مع الصور Images في بيئة الدوت نت باستخدام +GDI - مقدمة RaggiTech 3 6,332 30-07-21, 05:14 PM
آخر رد: kebboud
  مقال: الكومبو بوكس ComboBox كيف تضيف أيقونات Blue Sky 1 3,439 30-06-19, 10:41 AM
آخر رد: invocker
  التــعامل مع cmd من خلال الدوت نت مبتدئ في الاحتراف 3 4,030 02-06-18, 12:36 AM
آخر رد: YousefOkasha
  أفكار في الجرافكس AlignRectangle silverlight 0 1,710 14-10-17, 02:02 PM
آخر رد: silverlight
  تفقيط الارقام فى الدوت نت مبرمج أوتار 17 13,397 20-04-17, 12:21 PM
آخر رد: محمد بوقزاحة
  [مقال] تشغيل برمجيات الدوت نت بدون تنصيب النت فروم ويرك m0075 13 11,086 13-02-14, 08:29 PM
آخر رد: Omar Mekkawy
  مقال- كيفية الاستغناء عن الداتا بيز التقليدية في برامجنا – ألجزء الأول RaggiTech 1 3,679 06-10-12, 12:23 AM
آخر رد: RaggiTech
  مقال- تطوير الكونترول Property Attributes الجزء الثالث RaggiTech 0 2,462 06-10-12, 12:20 AM
آخر رد: RaggiTech
  مقال- تطوير الكونترول Skin Control RaggiTech 0 2,616 06-10-12, 12:08 AM
آخر رد: RaggiTech
  مقال- كيف تصنع ملفات المساعدة Help Files وتربطها مع برنامجك RaggiTech 0 3,408 05-10-12, 07:30 PM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: