UPDATE
The problem is not the code, the problem is that you apparently can't evaluate dynamic objects from the immediate window.
I'm trying to tack on methods to an ExpandoObject but not sure how to get it to work. Here's my code:
dynamic myObj = new ExpandoObject();
myObj.First = "Micah";
myObj.Last = "Martin";
myObj.AsString = new Func<string>(() => myObj.First + " " + myObj.Last);
//No matter what I do I get 'object' does not contain a definition for 'AsString'
myObj.AsString;
myObj.AsString();
myObj.AsString.Invoke();
Anyone know how to do this?