You can first query for all types that are not abstract and implement your interface:
this.GetType().Assembly.GetTypes().Where(type => type.IsClass && !type.IsAbstract && type.IsAssignableFrom(IMyInterface));
Then, for each of these types, query your Unity container to see if it contains an instance of it.
source share