相关疑难解决方法(0)

在未来的C#版本中是否有"扩展属性"的计划?

我之前已经想过这个,在阅读这个问题时又想起了这个问题.

在未来的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; 
        }
    }
Run Code Online (Sandbox Code Playgroud)

是否有任何技术限制可以防止这种情况发生?这会在幕后产生太多东西吗?不值得努力的重要性?

c# extension-methods properties

5
推荐指数
2
解决办法
357
查看次数

你认为"自动接口实现"在.NET/C#中会有用吗?

考虑一下:

public class interface Person : IPerson
{
  int ID { get; protected set; }
  string FirstName { get; set; }
  string LastName { get; set; }
  string FullName { get { return FirstName + " " + LastName; } }
}
Run Code Online (Sandbox Code Playgroud)

还有这个:

public class StubPerson : IPerson
{
    int ID { get { return 0; protected set { } }
    string FirstName { get { return "Test" } set { } }
    string LastName { get { return "User" …
Run Code Online (Sandbox Code Playgroud)

.net c# interface automatic-properties language-enhancement

5
推荐指数
2
解决办法
1914
查看次数