private static IList <IProcessEnginePlugin> ToList(IProcessEnginePlugin plugin, params IProcessEnginePlugin[] additionalPlugins) { IList <IProcessEnginePlugin> plugins = new List <IProcessEnginePlugin>(); plugins.Add(plugin); if ((additionalPlugins != null) && (additionalPlugins.Length > 0)) { ((List <IProcessEnginePlugin>)plugins).AddRange(additionalPlugins); } return(plugins); }
//private InOrder inOrder; public CompositeProcessEnginePluginTest() { PluginA = ProcessEnginePlugin("PluginA"); PluginB = ProcessEnginePlugin("PluginB"); }
/// <summary> /// Add one (or more) plugins. /// </summary> /// <param name="plugin"> first plugin </param> /// <param name="additionalPlugins"> additional vararg plugins </param> /// <returns> self for fluent usage </returns> public virtual CompositeProcessEnginePlugin AddProcessEnginePlugin(IProcessEnginePlugin plugin, params IProcessEnginePlugin[] additionalPlugins) { return(AddProcessEnginePlugins(ToList(plugin, additionalPlugins))); }
/// <summary> /// New instance with vararg. /// </summary> /// <param name="plugin"> first plugin </param> /// <param name="additionalPlugins"> additional vararg plugins </param> public CompositeProcessEnginePlugin(IProcessEnginePlugin plugin, params IProcessEnginePlugin[] additionalPlugins) : this() { AddProcessEnginePlugin(plugin, additionalPlugins); }