C#获取和私人集合与获取返回私人领域

时间:2017-04-17 23:01:41

标签: c#

我问自己很长一段时间使用带有修饰符get和私有集的属性与具有返回私有字段的属性有什么优点和缺点。

以下是一个例子:

public bool Example { get; private set; }

private bool example;
public bool Example { get { return example; } }

使用其中一个的缺点和优点是什么?

2 个答案:

答案 0 :(得分:4)

少了1行代码。除此之外,它们完全相同的功能。它本质上是语法糖。

答案 1 :(得分:0)

有很多东西,即使它是自动设置的语法糖,我认为这取决于设计

public bool Example { get;  set; }

上面一行将有一个由我们无法访问的编译器创建的私有后台字段。但是如果创建一个支持字段,我们将可以访问它,我们可以像下面的那样用它进行空检查

private bool example;
public bool Example 
{ 
get
{
  return example;
}
set
{
     if(value != example)
     {
       example = value;
       // here you can write some property change notifications or some other logic. 
     }
} 
}

两种方式最终结果相同