相关疑难解决方法(0)

C#3.0自动属性 ​​- 有用与否?

注意:这是在我开始使用C#时发布的.凭借2014年的知识,我可以真正地说,自动属性是C#语言中发生过的最好的事情.

我习惯使用私有和公共字段在C#中创建我的属性:

private string title;
public string Title
{
    get { return title;  }
    set { title = value;  }
}
Run Code Online (Sandbox Code Playgroud)

现在,使用.NET 3.0,我们获得了自动属性:

public string Title { get; set; }
Run Code Online (Sandbox Code Playgroud)

我知道这更像是一个哲学/主观问题,但除了为每个字段保存五行代码之外,是否有任何理由使用这些自动属性?我个人的抱怨是那些属性隐藏了我的东西,我不是黑魔法的忠实粉丝.

事实上,隐藏的私有字段甚至没有显示在调试器中,这是好的,因为get/set函数什么都不做.但是当我想实际实现一些getter/setter逻辑时,我必须使用私有/公共对.

我看到了我节省大量代码(一对六行)而不会失去以后更改getter/setter逻辑的能力的好处,但是我再次通过简单地声明一个公共字段"Public string Title"就可以做到这一点需要{get; 组; 阻止,因此甚至可以节省更多代码.

那么,我在这里错过了什么?为什么有人真的想要使用自动属性?

.net c# automatic-properties

152
推荐指数
10
解决办法
4万
查看次数

C#3.0自动属性,为什么不直接访问该字段?

使用在类的属性中获取/设置的新方法,如:

public string FirstName {
        get; set;
    }
Run Code Online (Sandbox Code Playgroud)

为什么不简单地将属性FirstName公开而没有访问者?

properties c#-3.0

12
推荐指数
2
解决办法
2528
查看次数

标签 统计

.net ×1

automatic-properties ×1

c# ×1

c#-3.0 ×1

properties ×1