public void RemoveAllTypes(Type serviceType)
{
Argument.IsNotNull("serviceType", serviceType);
lock (_lockObject)
{
// Instances
for (int i = _registeredInstances.Count - 1; i >= 0; i--)
{
var serviceInfo = _registeredInstances.Keys.ElementAt(i);
if (serviceInfo.Type == serviceType)
{
_registeredInstances.Remove(serviceInfo);
}
}
// Registration
for (int i = _registeredTypes.Count - 1; i >= 0; i--)
{
var serviceInfo = _registeredTypes.Keys.ElementAt(i);
if (serviceInfo.Type == serviceType)
{
_registeredTypes.Remove(serviceInfo);
}
}
}
}
#endregion