Examples - How to use AWright18.PipeTo
NOTE: All of the following examples will print “Hello from AWright18.PipeTo” to the console.
A value piped to a System.Action that takes one argument
    "Hello From AWright18.PipeTo".PipeTo(Console.WriteLine);
 
A value piped to an System.Action that takes two arguments
    "Hello From {0}".PipeTo(Console.WriteLine,"AWright18.PipeTo");
 
A value piped to a System.Func that takes one argument and returns another argument
    var helloWorld = "Hello From AWright18.PipeTo".PipeTo((s) => s);
    helloWorld.PipeTo(Console.WriteLine);
 
A value piped to a System.Func that takes two arguments and returns another argument
    var helloWorld = "Hello From {0}".PipeTo(string.Format,"AWright18.PipeTo");
    helloWorld.PipeTo(Console.WriteLine);
 
Creating a pipe line of multiple functions.
        static void Main(string[] args)
        {
            "Hello"
                .PipeTo(AddFrom)
                .PipeTo(AddWho, "Awright18.PipeTo")
                .PipeTo(Console.WriteLine);
        }
        static string AddFrom(string s)
        {
            return s + " from";
        }
        static string AddWho(string s, string who)
        {
            return s + " " + who;
        }
 
Alternatively of course you can use lambda expressions
    static void Main(string[] args)
    {
        "Hello"
            .PipeTo((value) => value + " from")
            .PipeTo((value,who) => value + " " + who,"AWright18.PipeTo")              
            .PipeTo(Console.WriteLine);
    }