के साथ मैं अपने प्रोजेक्ट के लिए एमईएफ को डीआई के रूप में उपयोग करना चाहता हूं। मेरे पास 1 प्रोजेक्ट है और प्रत्येक कक्षा जो रचना की जानी चाहिए वहां मौजूद है (वे एक इंटरफ़ेस साझा करते हैं)। अब मैं मेटाडेटा मान निर्दिष्ट करके उनमें से एक बनाना चाहता हूं। यहाँ परिभाषाओं है:MEF GetExportedValue मेटाडेटा
public interface IGatewayResponseReader
{
object Read(string msg);
}
[Export(typeof(IGatewayResponseReader))]
[ExportMetadata(G3Reader.META_KEY, "value1")]
public class TestReader1 : IGatewayResponseReader
{
...
}
[Export(typeof(IGatewayResponseReader))]
[ExportMetadata(G3Reader.META_KEY, "value2")]
public class TestReader2 : IGatewayResponseReader
{
...
}
अब मैं MEF के माध्यम से TestReader1 का एक उदाहरण बनाना चाहते हैं, लेकिन मैं CompositionContainer के माध्यम से मेटाडाटा के आधार पर फ़िल्टर करने के लिए कैसे पता नहीं है। मुझे कुछ
Container.GetExportedValue<IGatewayResponseReader>();
लेकिन क्लास उदाहरण बनाने के लिए मेटाडेटा निर्दिष्ट करने के लिए कुछ चाहिए।
आपकी सहायता की बहुत सराहना की जाती है।
धन्यवाद।
धन्यवाद फिल, मैं तुम्हारी मदद की :) सराहना करते हैं। अरे, मैंने इस तरह से कोशिश की और काम नहीं किया क्योंकि मुझे मेटाडाटाएट्रिब्यूट के बारे में पता नहीं था :(मैंने इसे समझने की कोशिश में 5 घंटे बिताए। धन्यवाद – Davita