استخدام الإعدادات مع الأنواع المعقدة
-
03-07-2019 - |
سؤال
أنا أستخدم فئة الإعدادات في مشروع .NET الخاص بي.لقد لاحظت في المحرر أن أنواعًا معينة فقط متاحة للاستخدام كأنواع للخصائص الفردية في فئة الإعدادات.ماذا لو كنت أرغب في الحصول على خاصية كانت عبارة عن تعداد من الكود الخاص بي أو مجموعة عامة على سبيل المثال؟كيف يمكنني تنفيذ ذلك؟
أعتقد أنه يمكنني القيام بذلك في ملف منفصل باستخدام آلية الفصل الجزئي (نظرًا لأن الإعدادات تم تعريفها بالفعل على أنها فئة جزئية) ولكني أريد معرفة ما إذا كان أي شخص يوافق على ذلك وما إذا كانت هناك طريقة للقيام بذلك ضمن المحرر.
المحلول
قم بإنشاء ملف "إعدادات" جديد لإضافة نوع اختيار معقد/محدد من قبل المستخدم.فيما يلي كيفية استخدام Enum.
الخطوة 1.قم بإنشاء ملف الإعدادات
الخطوة 2.تصفح للنوع
الخطوه 3.حدد النوع (مساحة الاسم.اسم النوع)
الخطوة 4.تا دا - تم
نصائح أخرى
لتحصل على فئة مخصصة لإظهارها في تلك القائمة، تأكد من أن لديها منشئ افتراضي كما أنها واحدة من خيارات بناء. تعلمت هذا الطريق الصعب
لإجابة جيفري تعليق / سؤال حول ما إذا كانت القوائم الجنيسة هي ممكنة في ملف الإعدادات، فإن الجواب هو نعم. لديك فقط لتحرير ملف xml الإعدادات يدويا. على سبيل المثال، إذا كان لدي الطبقة التالية:
public class UrlAlias
{
public string Name { get; set; }
public string BaseUrl { get; set; }
}
ويمكنني إنشاء قائمة من هذه عن طريق النقر بزر الماوس الأيمن على ملف الإعدادات واختر فتح مع ...
ثم اختر XML / محرر نص، وتعيين قيمة "نوع" إلى اسم الفئة مؤهل بشكل كامل، أي بمعنى:
Type="System.Collections.Generic.List`1[MyProject.SomeNamespace.UrlAlias]"
وقال إن أكس الإعدادات الكاملة تبدو:
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="MyProject.Properties" GeneratedClassName="Settings">
<Profiles />
<Settings>
<Setting Name="UrlAliases" Type="System.Collections.Generic.List`1[CommonAddin.Data.DataSource.UrlAlias]" Scope="User">
<Value Profile="(Default)"></Value>
</Setting>
</Settings>
</SettingsFile>
وبمجرد القيام بذلك، يجب أن يكون لديك قائمة تكوينه بشكل صحيح من الإعدادات المخصصة الاعتراض قمت بإنشائه.
وفعل ذلك في ملف منفصل كجزء من فئة جزئية غير مقبول تماما.
إذا كنت تريد أن تكون قادرة على تجميع الأشياء المعقدة من خلال ملفات التكوين، أود أن أقترح استخدام بعض إطار التبعية حقن ش.م. Spring.Net.