Posts

Showing posts from August, 2014

Why Your Code Has So Much Duplication

Here is a quite nice example code block for C#'s Dataflow blocks, specifically showing usage of the WriteOnceBlock: ActionBlock writeToConsole1 = new ActionBlock ( integer => Console.WriteLine( "Console 1: " + integer ) );   // true if the source should unlink from the target after successfully propagating a single message // otherwise, false to remain connected even after a single message has been propagated bool unlinkAfterOne = false ;   WriteOnceBlock writeOnceBlock1 = new WriteOnceBlock ( integer => integer ); writeOnceBlock1.LinkTo( writeToConsole1, unlinkAfterOne );   // prints 12 via Console 1: // Console 1: 12 writeOnceBlock1.Post( 12 );   // create 4 additional Targets ActionBlock writeToConsole2 = new ActionBlock ( integer => Console.WriteLine( "Console 2: " + integer ) ); ActionBlock writeToConsole3 = new ActionBlock ( integer => Console.WriteLine( "Console 3: " + integer ) ); Acti...