سؤال

ما هو AggregateCatalog؟ ماذا يعني ذلك عندما تقوم ببناء أ new AggregateCatalog()؟ ماذا يعني ذلك عند إضافة مجموعات إلى الكتالوج ، على سبيل المثال catalog.Catalogs.Add(new AssemblyCatalog(someAssembly))؟ بخلاف التجميعات ما الذي يمكنك إضافته إلى الكتالوج؟ أي معرفة عامة تتعلق بهذا سيكون مفيدًا أيضًا (أنا نوب تمامًا)

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

المحلول

AggregateCatalog في MEF يسمح لك بشكل أساسي بجمع كتالوجات التمديد المتعددة. عندما تتصل new AggregateCatalog(), ، تقوم بشكل أساسي بتسهيل مجموعة كتالوج جديدة (ليس بالضرورة ملء) يمكن أن تحتوي على حالات متعددة من composablepartcatalog ، والتي يمكن أن تحتوي على أجزاء متعددة.

ضع في اعتبارك فئة تساعدك على جمع أجزاء من مجموعات متعددة.

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

لمزيد من المعلومات حول الكتالوجات ، أوصي القراءة هذه.

نصائح أخرى

لدى MEF منحنى تعليمي صغير - اذهب من خلال المستندات في mef.codeplex.com على الأقل مرة واحدة. أو جرب screencasts إذا كنت قد ضغطت حقًا للوقت.

الفكرة هي أن الكتالوج هو قاموس الأجزاء المصدرة (الكائنات التي سيتم حقنها) أو أجزاء تحتاج إلى واردات (التي تحتاج إلى كائنات محقونة) .. يمكن ملء الكتالوج بطرق متعددة (وبالتالي مشتقات كتالوج Diff) - من دليل (كل ASM في DIR) أو مجموعة محددة.

بعد ذلك ، يمكنك إنشاء كتالوج مركب ، على سبيل المثال ، تريد إنشاء قاموس واحد يحتوي على جميع الكائنات المصدرة من Dira ومن هذه المجموعة المحددة في DiRB. في هذه الحالة ، يمكنك إنشاء كتالوجات فردية ثم كتالوج مركب يدمج الاثنين. أنت الآن تستهلك هذا القاموس المدمج في الكود الخاص بك لطلب الواردات/الصادرات.

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