【发布时间】:2009-03-17 00:41:38
【问题描述】:
我之前也想过这个问题,在阅读this问题时又想到了这个问题。
在未来的 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;
}
}
是否有任何技术限制可以防止这种情况发生?这会在幕后产生太多的东西吗?不够重要,不值得付出努力?
【问题讨论】:
标签: c# properties extension-methods