के लिए एक ही उदाहरण लौटें मैं निम्नलिखित कोड के साथ घटकों को पंजीकृत कर रहा हूँ:कई इंटरफेस
StandardKernel kernel = new StandardKernel();
string currentDirectory = Path.GetDirectoryName(GetType().Assembly.Location)
foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies())
{
if (!Path.GetDirectoryName(assembly.Location).Equals(currentDirectory))
continue;
foreach (var type in assembly.GetTypes())
{
if (!type.IsComponent())
continue;
foreach (var @interface in type.GetInterfaces())
kernel.Bind(@interface).To(type).InSingletonScope();
}
}
तो मैं एक वर्ग है जो दो इंटरफेस लागू करता है:
class StandardConsole : IStartable, IConsumer<ConsoleCommand>
अगर मैं IStartable
हल मैं एक मिल उदाहरण के लिए, अगर मैं IConsumer<ConsoleCommand>
हल करता हूं तो मुझे दूसरा मिलता है।
मैं दोनों इंटरफेस के लिए एक ही उदाहरण कैसे प्राप्त करूं?
यह प्रश्न दो में विभाजित किया जाना चाहिए, एक निनजेक्ट के लिए और दूसरा ऑटोफैक के लिए। –
@ जेफवाल्कर कोडरेंजर: आपने इसके लिए -1 दिया? :) – jgauffin
निनजेक्ट पक्ष पर 3 या 4 डुप्लिकेट हैं, http://stackoverflow.com/questions/3147996/binding-singleton-to-multiple-services-in-ninject उस आधार पर हटाए गए निंजा टैग को देखें। प्रश्न से निंजात्मक पहलू को हटाने का सुझाव दें क्योंकि यह एक अप्रत्याशित प्रश्न –