2010-10-04 13 views
7

मुझे माइक्रोसॉफ्ट.प्रैक्टिस.यूटीटी.स्टैटिक फैक्टरी.dll कहीं भी नहीं मिल रहा है।यूनिटी स्टेटिक फैक्टरी एक्सटेंशन

क्या स्थिर कारखाने को पंजीकृत करने का कोई और तरीका है?

इस

container.RegisterFactory की तरह कुछ के लिए खोज रहे (() => FooFactory.CreateFoo());

उत्तर

14

StaticFactory.dll एकता 2.0 के हिस्से के रूप मुख्य विधानसभा में निकला। यह आम तौर पर इतना उपयोगी था कि हम इसे पाने के लिए लोगों को एक अलग डीएलएल के आसपास ले जाने के लिए मजबूर नहीं करना चाहते थे।

इस प्रकार, आप अभी भी मौजूदा API का उपयोग कर सकते हैं, आपको केवल असेंबली संदर्भ जोड़ने की आवश्यकता नहीं है। हालांकि, हमने पुरानी एपीआई को हटा दिया है। एक्सटेंशन जोड़ा जा सकता है, लेकिन कुछ भी नहीं करता है, यह पहले से ही कंटेनर में शामिल है। और अब आप कंटेनर में कारखानों को यह कहकर पंजीकृत कर सकते हैं:

container.RegisterType<IFoo, Foo>(new InjectionFactory(c => new Foo()); 

जहां सी कंटेनर है जो उदाहरण को हल कर रहा है। प्रकार और नाम को हल करने के लिए भी एक विकल्प है।

हमने पुरानी एपीआई को हटा दिया क्योंकि यह उपयोग करने के लिए बहुत अजीब था और यह अब भी एक विस्तार नहीं है।

0

RegisterFactory विधि StaticFactoryExtension कक्षा का हिस्सा है, जिसे आप here देख सकते हैं।

यदि आप कारखाने के विस्तार की तलाश में हैं, this thread सहायक होना चाहिए।

मुझे आशा है कि इस मदद करता है।

धन्यवाद, डेमियन

+0

इसे क्यों हटाया गया है? –

+0

जैसा कि मैंने प्रदान किए गए लिंक में कहा है: [अप्रचलित एट्रिब्यूट ("रजिस्टर टाइप टाइप करें <टीइंटरफेस, टीआईएमपीएल> (नया इंजेक्शन फैक्ट्री (...)) एक्सटेंशन के तरीकों के बजाय।")] –

संबंधित मुद्दे