/// <summary> /// Agrega todos los plugins disponibles de el assembly /// que pasa como argumento y ademas evalua un criterio /// de acceptacion /// </summary> /// <param name="assembly"></param> /// <returns></returns> public PluginLoader Load(Assembly assembly, Predicate <Type> predicate) { PluginAssets .AddRange( assembly .FromContract <IPlugin>() .Where(x => predicate(x)) ); return(this); }
/// <summary> /// Agrega todos los plugins disponibles de el assembly /// que pasa como argumento /// </summary> /// <param name="assembly"></param> /// <returns></returns> public PluginLoader Load(Assembly assembly) { PluginAssets.AddRange(assembly.FromContract <IPlugin>()); return(this); }
/// <summary> /// Agrega un una lista de tipos como plugins /// </summary> /// <param name="types"></param> /// <returns></returns> public PluginLoader Load(IEnumerable <Type> types) { PluginAssets.AddRange(types); return(this); }