using System; class Program { static void Main(string[] args) { Func outfunc = Composer.Compose(functA, functB); Console.WriteLine(outfunc(5)); //Prints 100 } static int functA(int i) { return i * 10; } static int functB(int i) { return i + 5; } class Composer { public static Func Compose(Func a, Func b) { return delegate(C i) { return a(b(i)); }; } } }