كيف يمكنني تخزين قيمة التعداد في نماذج Windows ملف الإعدادات؟

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

سؤال

وأنا باستخدام نماذج ويندوز وVS2008. أريد لتخزين قيمة التعداد في ملف إعدادات التطبيق الخاص بي.

ورئيس تحرير الإعدادات في VS2008 يعطيني سوى مجموعة محدودة من أنواع. مثير للدهشة، تتضمن التعدادات لا يبدو أن يكون واحدا من هذه الأنواع التي يدعمها تلقائيا - وقد فهمت هذا بشكل صحيح

ومن القراءة حول هذا الموضوع، يبدو وكأنني قد تحتاج إلى كتابة فئة TypeConverter، لتمكين بلدي التعداد لتحويلها إلى سلسلة والعكس بالعكس. لقد نفذ هذا التعداد لبلدي، وأضاف الممتلكات TypeConverter إلى بلدي التعداد، والتي تشير إلى الطبقة المحول لاستخدام لهذا التعداد.

ولكن عندما أحاول أن تحديد هذا في ملف الإعدادات (في 'اختر نوع') الحوار، فإنه يقول فقط أن لم يتم تعريف نوع بلدي، لذلك انا من النوع عالقة.

ويمكن لأي شخص أن يشرح لي كيف تخزين التعداد في ملف الإعدادات في نماذج Windows التطبيق؟ يبدو مثل مثل قطعة بسيطة ساحق (والمطلوب عادة) من الوظائف التي أنا مندهش أنه غير معتمد بالفعل، وأنه يبدو لي أن لديك لتفعل الكثير من العمل للحصول على عمل (والتعداد واحد فقط!).

لذلك أعتقد أنني يجب أن يكون هناك شيء ناقص، وانها في الواقع من السهل حقا ...

ودعونا نقول بلدي التعداد يبدو مثل هذا:

namespace MyApp
{
    enum MyEnum
    {
        Yes,
        No
    }
}

... كيف يمكنني تخزين قيمة من هذا التعداد في ملف الإعدادات الخاص بي؟ (واسترجاعها، وبطبيعة الحال).

و(من الواضح أنني يمكن تخزين مجرد سلسلة أو عدد صحيح وتفسير نفسي، ولكن يبدو عالي الكعب جدا، وأتوقع أشكال ويندوز للتعامل مع هذا النوع من الشيء أكثر نظافة.)

هل كانت مفيدة؟

المحلول

وهي في الواقع لم تتم إزالة تتضمن التعدادات هذا الحد من أنواع الرقمية (كثافة العمليات الافتراضية)، ويمكن استخدامها interchangably. أنا لا أعتقد أنه هو عالي الكعب للادلاء ذهابا وإيابا وتخزين كثافة العمليات. في الواقع يمكن تخزين سلاسل فقط في ملف الإعدادات. هذا لا يعني، بالتالي، كل ما هو تسلسل إلى سلسلة.

وهناك طريقة أخرى سيكون لتخزين قيمة النص (لذلك فمن البشري للتحرير) من التعداد وتحليل باستخدام Enum.Parse (نوع، سلسلة).

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