5

मेरे पास कुछ नियंत्रक उदाहरणों में इंजेक्शन के लिए पंजीकृत एक सार कारखाना है। क्या मैं उस सार कारखाने को पंजीकृत कर सकता हूं और इसे इंजेक्शन फैक्ट्री के रूप में उपयोग कर सकता हूं?एकता में इंजेक्शन फैक्ट्री के रूप में अमूर्त कारखाने का उपयोग करना?

public interface ILevelFactory 
{ 
    Levels Create(); 
} 

.RegisterType<ILevelFactory, LevelFactory>() 
.RegisterType<Levels>(new InjectionFactory((c) => StaticLevelFactory.GetLevels())) 

वांछित स्थिति:

.RegisterType<ILevelFactory, LevelFactory>() 
.RegisterType<Levels>(*** look up and use ILevelFactory ***) 

संक्षेप में, मैं StaticLevelFactory से छुटकारा पाने के लिए चाहते हैं

यह है कि मैं क्या है।

उत्तर

6

यदि आपका ILevelFactory ठीक से पंजीकृत है:

RegisterType<Levels>(new InjectionFactory((c) => c.Resolve<ILevelFactory>().GetLevels())) 
+0

अच्छा! धन्यवाद। :) –