예제 #1
0
 /// <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);
 }
예제 #2
0
 /// <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);
 }
예제 #3
0
 /// <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);
 }