Thanks for the quick reply!
The extension route was the way I chose. I first thought I would have to handle the Registering event on the ExtensionContext. This would work as you suggest.
Then I saw this code in UnityBootstrapperExtension.cs in Prism:
public static bool IsTypeRegistered(IUnityContainer container, Type type)
UnityBootstrapperExtension extension = container.Configure<UnityBootstrapperExtension>();
if (extension == null)
//Extension was not added to the container.
IBuildKeyMappingPolicy policy = extension.Context.Policies.Get<IBuildKeyMappingPolicy>(new NamedTypeBuildKey(type));
return policy != null;
Does this routine have too much reliance on the internal workings of Unity? I agree that handling the Registering event would work but this was easier to implement!