Other language features as objects

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?