Я думал об этом раньше, и это снова пришло в голову при чтении этого вопроса.
Есть ли планы на "свойства расширения" в будущей версии C #?
Мне кажется, что они могут быть довольно простыми для реализации с небольшим количеством "магии компилятора". Например, использование префиксов get_ и set_ для имен методов расширения превратит этот метод в свойство расширения:
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;
}
}
Существуют ли какие-либо технические ограничения, которые могли бы предотвратить это? Будет ли это создавать слишком много вещей, происходящих за кулисами? Не достаточно важно, чтобы стоить усилий?