मैं स्ट्रक्चर मैप के लिए नया हूं और मेरे पास कुछ मौजूदा कोड है जो मैं स्ट्रक्चर मैप 2.5.4 का उपयोग कर रहा हूं।संरचना मैप और इंजेक्शनिंग आईनेमेरेबल <T>
एक वर्ग है जो स्ट्रक्चर मैप का उपयोग करके बनाया गया है जिसमें एक निर्माता है जो पैरामीटर के रूप में IEnumerable<ICar>
लेता है।
रजिस्ट्री में निम्न कोड है।
Scan(x =>
{
x.TheCallingAssembly();
x.WithDefaultConventions();
x.AddAllTypesOf<ICar>();
}
);
ForRequestedType<IEnumerable<ICar>>().TheDefault.Is.ConstructedBy(
x => ObjectFactory.GetAllInstances<ICar>());
मैं एक इकाई परीक्षण लिख रहा हूँ और ObjectFactory बंद एक नेस्टेड कंटेनर प्राप्त किया है और एक उदाहरण के इंजेक्शन है इंजेक्षन पद्धति का उपयोग करके। आईकर के उदाहरणों में से एक को अपने कन्स्ट्रक्टर में इंजेक्शन प्रकार प्राप्त करना चाहिए। हालांकि यह काम नहीं कर रहा था और मैंने ऑब्जेक्ट फैक्ट्री को नीचे ट्रैक किया। GETAllInstances() कॉल जो मेरे नेस्टेड कंटेनर का उपयोग नहीं करता है।
मैं इसे काम करने के लिए कैसे प्राप्त कर सकता हूं?
मैंने स्ट्रक्चर मैप ऑटोवॉयरिंग एरे और आईनेमरेबल इंस्टेंस के बारे में भी पढ़ा लेकिन मैं इसे काम नहीं कर सका।
क्या उपर्युक्त रजिस्ट्री कोड को फिर से लिखने का एक बेहतर तरीका है ताकि IEnumerable<ICar>
का एक उदाहरण बनाया जा सके और मेरे नेस्टेड कंटेनर से इंजेक्शन प्रकार का उपयोग किया जा सके?
कुछ स्थानों पर आप 'टीकर' और अन्य जिन्हें आप 'आईकर' का उपयोग करते हैं, का उपयोग करते हैं। उनका रिश्ता क्या है (और संरचना मैप उनके संबंध के बारे में जानता है)? –
क्षमा करें, वे वही बात हैं .. टाइपो। – GiddyUpHorsey