public IEnumerable<object> ResolveTypes(Type serviceType)
{
Argument.IsNotNull("serviceType", serviceType);
var resolvedInstances = new List<object>();
lock (_lockObject)
{
for (int i = 0; i < _registeredTypes.Keys.Count; i++)
{
var serviceInfo = _registeredTypes.Keys.ElementAt(i);
if (serviceInfo.Type == serviceType)
{
try
{
resolvedInstances.Add(ResolveType(serviceInfo.Type, serviceInfo.Tag));
}
catch (TypeNotRegisteredException ex)
{
Log.Debug(ex, "Failed to resolve type '{0}', returning null", ex.RequestedType.GetSafeFullName(false));
}
}
}
}
return resolvedInstances;
}