باستخدام فصول .NET التي تم إنشاؤها لتوسيع الطبقات الخاصة.كيف؟

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

  •  12-11-2019
  •  | 
  •  

سؤال

لقد استخدمت Owlgrinder لإنشاء التجميع واستيراد المكتبة إلى مشروعي.هذا يعمل بشكل جيد.الآن أريد أن أكتب مجموعة من الفصول الخاصة بي.لذلك أنا مددت هذه مع ما يعادل الجمعية.لكنه لا يعمل فقط.

ontology يحمل الفئة المسماة mommentsobject.

قمت بإنشاء فئة أخرى (C #) تسمى RealworldObject: giveacodicetagpre.

مما يؤدي إلى الخطأ:

enjobsmanagement.object.realworldobject هل تعلن Onlclassattribute واحد (وفقط واحد) owlclassattribute.هذا خطأ في تطبيق البرنامج المساعد.

كيف يجب أن أقوم بإعادة تمديد الفئات التي تم إنشاؤها بواسطة godhodicetagcode. تشك منذ فترة طويلة أنني استخدمت C #، لذلك أنا نوع من صدئ.

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

المحلول

لم يتم تصميم الفئات التي تم إنشاؤها تلقائيا من قبل Owlgrinder.exe للميراث في الاعتبار. أنا لا أقول أنه من الخطأ، فهي ليست مصممة لذلك. تحتوي الفصول التلقائية المولدة على الكثير من البيانات الوصفية المحددة كسمات فئة وميراث يخفي كل ذلك. تعد البنية التحتية على وجود هذه الصفات وإذا كانت مخفية، فستحصل على رسائل خطأ وقت التشغيل هذه.

باستخدام مستعرض كائن Visual Studio، نلقي نظرة على السمات عبر الفئات التي تم إنشاؤها تلقائيا. owlclassattribute، subclassofattribute، lightversionattribute هي بالتأكيد إلزامية. يمكنك ببساطة نسخ / لصق سمات الفصل من ManagementObject في الجزء العلوي من فئة Realworldobject الخاصة بك. أفترض أنه سيعمل. ولكن مرة أخرى، قد تصطدم إلى سدادات إضافية إضافية، لأنك لا تتبع المسارات الافتراضية تم تصميم ROWLEX ل. هذا يعيش قليلا على الحافة :)

بدلا من الميراث، قد تفكر في الهندسة العكسية التجمع المولد من تلقائيا إلى C # باستخدام العاكس أو الأدوات الأخرى. وجود شفرة المصدر في يدك، يمكنك تعديل الفئات التي تم إنشاؤها مباشرة. قد تجعل من فئة ManagementObject جزئية، وتنفذ أساليبك الإضافية في ملف منفصل.

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