Cela a été un problème sur le site CodePlex, vous pouvez trouver le code ici (regardez en bas de ce fil et ils ont une méthode d'extension ... très pratique)
http://unity.codeplex.com/Thread/View.aspx?ThreadId=24543
et vous pouvez utiliser le code comme ceci:
if (container.CanResolve<T>() == true)
{
try
{
return container.Resolve<T>();
}
catch (Exception e)
{
// do something else
}
}
CanResolve
est cette méthode d'extension. Je me inscris effectivement cette extension lors de la création du conteneur ... quelque chose comme ceci:
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);
}
Merci pour la bonne réponse. Je n'étais pas sûr si ma question était claire mais votre réponse est exactement ce que je cherchais. – Vadim