यह codeplex साइट पर एक मुद्दा रहा है, तो आप यहाँ से पा सकते हैं (कि धागा के निचले भाग में देखने के लिए और वे एक विस्तार विधि ... बहुत आसान बना दिया है)
http://unity.codeplex.com/Thread/View.aspx?ThreadId=24543
इस तरह
और आप उपयोग कर सकते हैं कोड:
if (container.CanResolve<T>() == true)
{
try
{
return container.Resolve<T>();
}
catch (Exception e)
{
// do something else
}
}
CanResolve
कि विस्तार विधि है। मैं वास्तव में इस तरह कंटेनर के निर्माण पर उस एक्सटेंशन को पंजीकृत कर रहा हूँ ... कुछ:
private void CreateContainer()
{
ExeConfigurationFileMap map = new ExeConfigurationFileMap();
map.ExeConfigFilename = // path to config file
// get section from config code goes here
IUnityContainer container = new UnityContainer();
container.AddNewExtension<UnityExtensionWithTypeTracking>();
section.Containers.Default.Configure(container);
}
स्रोत
2009-05-23 15:53:21
महान उत्तर के लिए धन्यवाद। मुझे यकीन नहीं था कि मेरा प्रश्न स्पष्ट था लेकिन आपका जवाब वही है जो मैं ढूंढ रहा था। – Vadim