स्ट्रक्चर मैप रजिस्ट्रार कन्स्ट्रक्टर के अंदर मुझे कुछ प्रकार (एक अलग रजिस्ट्री में पंजीकृत) का उदाहरण कैसे प्राप्त हो सकता है? मैं इस तरह के कोड का उपयोग करना चाहता हूं:मैं स्ट्रक्चर मैप रजिस्ट्रार कन्स्ट्रक्टर में एक उदाहरण कैसे प्राप्त कर सकता हूं?
public RepositoriesRegistry()
{
IApplicationSettings lApplicationSettings =
ObjectFactory.GetInstance<IApplicationSettings>();
Debug.Assert(lApplicationSettings != null);
const string cSupportedDevicesConnectionString =
"metadata=res://*/Models.SupportedDevices.Database.SupportedDevicesModel.csdl|res://*/Models.SupportedDevices.Database.SupportedDevicesModel.ssdl|res://*/Models.SupportedDevices.Database.SupportedDevicesModel.msl;provider=System.Data.SqlClient;provider connection string=\"{0}\"";
string lSupportedDevicesConnectionString =
string.Format(cSupportedDevicesConnectionString, lDatabaseConnectionString);
SupportedDevicesEntities lSupportedDevicesEntities =
new SupportedDevicesEntities(lSupportedDevicesConnectionString);
ForRequestedType<SupportedDevicesEntities>().TheDefault.IsThis(
lSupportedDevicesEntities);
ForRequestedType<ISupportedDevicesRepository>().TheDefault.IsThis(
new SupportedDevicesRepository(lSupportedDevicesEntities));
}
IAplicationSettings एप्लिकेशन सेटिंग्स के लिए एक इंटरफेस है। ठोस इस इंटरफेस (वर्तमान में ConfigFileApplicationSettings वर्ग) को लागू करने प्रकार एक और रजिस्ट्री में पंजीकृत है इस तरह:
public ApplicationServicesRegistry()
{
ForRequestedType<IApplicationSettings>().TheDefault.IsThis(
new ConfigFileApplicationSettings());
}
और दोनों रजिस्ट्रियों Bootstrapper में पंजीकृत हैं:
#region IBootstrapper Members
public void BootstrapStructureMap()
{
ObjectFactory.Initialize(InitalizeStructureMapContainer);
}
#endregion
#region Private properties
private static bool HasStarted { get; set; }
#endregion
#region Private methods
private void InitalizeStructureMapContainer(IInitializationExpression x)
{
x.IgnoreStructureMapConfig = true;
x.AddRegistry<ViewModelRegistry>();
x.AddRegistry<ApplicationServicesRegistry>();
x.AddRegistry<RepositoriesRegistry>();
x.AddRegistry<DataOperationsRegistry>();
}
#endregion
जब मैं का एक उदाहरण प्राप्त करने की कोशिश रजिस्ट्री कन्स्ट्रक्टर में IAplicationRegisty मुझे एक त्रुटि मिली है (बेशक)। मैं समझ में नहीं आता कि स्ट्रक्चर मैप का सही तरीके से उपयोग कैसे करें। हो सकता है कि मुझे कुछ अलग तरीके से करना चाहिए। लेकिन फिर भी मुझे रजिस्ट्री कन्स्ट्रक्टर में पंजीकृत कुछ प्रकार के उदाहरण मिल सकते हैं?