AddAction() public method

Overridden to return a this as a ActionParallelConfiguration for fluent syntax.
public AddAction ( ActionConfiguration a ) : ActionParallelConfiguration
a ActionConfiguration The action to add.
return ActionParallelConfiguration
 void DoSequenceOrParallelOrAdd( IActivityMonitor monitor, Action<ActionConfiguration> collector, XElement xml )
 {
     if( xml.Name == "Parallel" || xml.Name == "Sequence" )
     {
         Action<ActionConfiguration> elementCollector;
         if( xml.Name == "Parallel" )
         {
             var p = new ActionParallelConfiguration( xml.AttributeRequired( "Name" ).Value );
             elementCollector = a => p.AddAction( a );
             collector( p );
         }
         else
         {
             var s = new ActionSequenceConfiguration( xml.AttributeRequired( "Name" ).Value );
             elementCollector = a => s.AddAction( a );
             collector( s );
         }
         foreach( var action in xml.Elements() ) DoSequenceOrParallelOrAdd( monitor, collector, action );
     }
     else
     {
         if( xml.Name != "Add" ) throw new XmlException( String.Format( "Unknown element '{0}': only <Add>, <Parallel> or <Sequence>.", xml.Name ) );
         string type = xml.AttributeRequired( "Type" ).Value;
         Type t = FindConfigurationType( type );
         HandlerConfiguration hC = (HandlerConfiguration)Activator.CreateInstance( t, xml.AttributeRequired( "Name" ).Value );
         hC.DoInitialize( monitor, xml );
         collector( hC );
     }
 }