So, continuing on the thread of Everything is an object, let’s look at other items in the C# language that you might want as an object.
References. See our previous work on IReference & friends for an example of how this can be powerful.
Expressions. Suppose you could do:
Expression e = new Expression (1 + 2);
int x = e.Evaluate();
q = customers.select (zipcode = 90210);
Note that I don’t pass a string here; I really pass a C# expression. We see something like this with anonymous methods, but I’m going a bit further here.
Got any other ideas?