MEF isnot anIoCcontainer। लेकिन ऐसा लगता है कि यह लगभग एक आईओसी कंटेनर है। ऐसा लगता है कि मैं आसानी से एमओएफ को आईओसी कंटेनर की तरह व्यवहार कर सकता हूं (नीचे उदाहरण देखें) और एमईएफ को एक पूर्ण उड़ा आईओसी कंटेनर बनाने में बहुत याद नहीं है।आईओसी कंटेनरों के बराबर होने के लिए एमईएफ में क्या गुम है?
एमईएफ में मौजूद वास्तविक विशेषताएं क्या हैं जो स्ट्रुक्योरैप, एकता इत्यादि को समानता प्राप्त करनी है?
क्या आपको लगता है कि, this feaure request समझ में आता है?
using System;
using System.Collections.Generic;
using System.ComponentModel.Composition;
using System.ComponentModel.Composition.Hosting;
using System.ComponentModel.Composition.Primitives;
using System.Linq;
...
private CompositionContainer container;
public void Configure()
{
container = CompositionHost.Initialize(
new AggregateCatalog(
AssemblySource.Instance.Select(
x => new AssemblyCatalog(x)).OfType<ComposablePartCatalog>()));
var batch = new CompositionBatch();
batch.AddExportedValue<IWindowManager>(new WindowManager());
batch.AddExportedValue<IEventAggregator>(new EventAggregator());
batch.AddExportedValue(container);
container.Compose(batch);
}
आपको शायद यह सुनकर खुशी होगी कि एमईएफ vNext में, अस्वीकृति को अक्षम करने का एक तरीका है ताकि किसी भी समय एक अपवाद फेंक दिया जा सके। इससे सिस्टम में समस्या को ढूंढना बहुत आसान हो जाएगा जहां आप किसी भी चीज़ को अस्वीकार करने की अपेक्षा नहीं करते हैं। –
@ डैनियल: धन्यवाद, मैंने एमईएफ 2 पूर्वावलोकन 3 रिलीज पर एक नज़र डाली थी लेकिन किसी भी तरह से मुझे यह याद आया। –