public static T GetInstance <T>(Func <Assembly, bool> predicate)
        {
            IEnumerable <T> instances = ExtensionManager.GetInstances <T>(predicate);

            if (instances.Count() == 0)
            {
                throw new ArgumentException("Instance of " + typeof(T) + " can't be created");
            }

            return(instances.FirstOrDefault());
        }
 public static IEnumerable <T> GetInstances <T>()
 {
     return(ExtensionManager.GetInstances <T>(null));
 }
 public static List <T> GetInstances <T>()
 {
     return(ExtensionManager.GetInstances <T>(null));
 }