Preserving state in an extension method
The C# team has previously considered adding extension properties, events, etc. to C#. Per Eric Lippert: http://blogs.msdn.com/b/ericlippert/archive/2009/10/05/why-no-extension-properties.aspx For these features to be useful however, they would have to be able to store some new kind of state with an object. It seems like the only way to do this would be to use a dictionary and associate each instance of an object with whatever the additional state is. It would be useful if it were possible to copy this functionality "manually" by creating my own dictionary (and perhaps get/set extension