سؤال

في تطبيقنا ، لدينا عدد من خدمات Windows (أكثر من 30) والتي يجب أن تعمل خلف الكواليس لمعالجة البيانات في أوقات معينة على مدار اليوم. كنت أحاول إنشاء فئة BaseService التي يمكنني أن أرثها من ذلك من شأنها تسجيل الدخول إلى قاعدة البيانات الخاصة بنا عند بدء الخدمة أو إيقافها بالإضافة إلى بعض الوظائف الشائعة الأخرى. ومع ذلك ، واجهت مانعًا للعرض في محاولة إنشاء BaseService كـ MustInherit حيث لدينا عدد من خصائص MustOverride. القضية تكمن في: Genacodicetagpre

رمزنا كله في VB (كما يمكنك أن تقول على الأرجح). بالنظر إلى أنها طريقة مشتركة ، لا يمكنني تجاوزها (أي اجعلها MustOverride). بدون هذه الطريقة ، لن يتم تجميع الشفرة ، لكنها لن تعمل حقًا في الفئة الأساسية. الكود في هذه الطريقة هو: Genacodicetagpre

لا يمكن إنشاء BaseService (اسم الفئة الأساسية الخاصة بي) لأنه تم تحديده على أنه MustInherit. وهنا تكمن مشكلتي. لا يمكنني إنشاء هذا في الفئة الأساسية ولا يمكنني تجاوزه في الفئات الموروثة.

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

المحلول

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

هذا هو الرمز من فئة الخدمة الأساسية: Genacodicetagpre

وهذا هو الكود من فئة التنفيذ: Genacodicetagpre

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