I’ve thought of this before and it came to mind again when reading this question.
Are there any plans for ‘extension properties’ in a future version of C#?
It seems to me they might be pretty stright-forward to implement with a little more ‘compiler magic’. For example, using get_ and set_ prefixes on extension method names would turn that method into an extension property:
public class Foo { public string Text { get; set; } } public static class FooExtensions { public static string get_Name(this Foo foo) { return foo.Text; } public static void set_Name(this Foo foo, string value) { foo.Text = value; } }
Are there any technical restrictions which would prevent this? Would this create too much stuff going on behind the scenes? Not important enough to be worth the effort?
The official site for feature requests is http://connect.microsoft.com/VisualStudio.
There has already been a request for extension properties here.
Microsoft’s answer on 7/29/2008 included the following: