private static void Main(string[] args) { // Reflection DoItWithDynamics(); DoItTheOldFashionedWay(); // Lots of params DoSomethingWithParams(new { FirstName = "Jonathan", LastName = "Creamer", Age = 23, School = new { Name = "MTSU", GradYear = 2012 } }); DoThatStackOverflowyThing(); dynamic expandoThingy = new ExpandoObject(); expandoThingy.Name = "Thing"; expandoThingy.Movies = new object[] { new { Name = "Star Wars", Rating = "PG" }, new { Name = "The Matrix", Rating = "R" } }; var bankAccounts = new List<Account> { new Account { ID = 345678, Balance = 541.27 }, new Account { ID = 1230221, Balance = -127.44 } }; // Display the list in an Excel spreadsheet. // Walkthrough.DisplayInExcel(bankAccounts); // Create a Word document that contains an icon that links to // the spreadsheet. // Walkthrough.CreateIconInWordDoc(); dynamic x = new ExpandoObject(); x.SomeText = "This is some text"; x.Value = 30; x.Run = new Action(() => Console.WriteLine("Running a recently added method!")); Console.WriteLine(x.SomeText); Console.WriteLine(x.Value); x.Run(); DoThatTwitteryThing(); }