2012-01-26 5 views
5

के लिए ऑटो-वायरिंग कुछ आईओसी कंटेनरों में सम्मेलनों के आधार पर ऑटो-वायरिंग कहा जाता है, उदाहरण के लिए, आईपॉडक्ट रिपोजिटरी मैप्स को उत्पाद भाग में किसी भी मैन्युअल वायरिंग के बिना।निनजेक

क्या निनजेक्ट के साथ ऐसी कोई चीज है?

उत्तर

6
// use Ninject.Extensions.Conventions for convention-based binding 
kernel.Scan(scanner => 
    { 
     // look for types in this assembly 
     scanner.FromCallingAssembly(); 

     // make ISomeType bind to SomeType by default (remove the 'I'!) 
     scanner.BindWith<DefaultBindingGenerator>(); 
    }); 

@Pete मोंटगोमरी टिप्पणी से नकल

7

Ninject सम्मेलन आधारित विन्यास के लिए एक विस्तार के साथ आता है। लेकिन आपको अभी भी अपने संयोजनों को कॉन्फ़िगर करने की आवश्यकता है। https://github.com/ninject/ninject.extensions.conventions देखें वाक्यविन्यास 3.0.0 के लिए बदल गया है लेकिन यह और अधिक शक्तिशाली हो गया है। निम्नलिखित आपके सिस्टम में सभी वर्गों के लिए बाइंडिंग जोड़ देगा। लेकिन आम तौर पर आप वर्गों के विभिन्न प्रकार के लिए इन सम्मेलनों के कई चाहते हैं (उदाहरण के लिए सेवाएं हैं एकमात्र, ....)

kernel.Bind(
    x => x.FromThisAssembly() 
      .SelectAllClasses() 
      .BindAllInterfaces()); 
+0

काम करता है, लेकिन अंतिम पंक्ति 3.0.2 द्वारा .BindAllInterfaces() पढ़ shoud –

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