Это было проблемой на сайте 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);
}