亲爱的,哪一个是使用C#的最佳实践,为什么?
1.
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
Run Code Online (Sandbox Code Playgroud)
2.
public string Name { get; set; }
Run Code Online (Sandbox Code Playgroud)
3.
protected string name;
public string Name
{
get { return name; }
set { name = value; }
}
Run Code Online (Sandbox Code Playgroud)
请加上......
Wil*_*den 14
小片1和2都很好.当您不需要访问底层字段时,第二种方法是编写第一种方法.
但是,通常应该避免使用代码段3(除非您有某些特定原因需要它),因为字段几乎应该是私有的.如果您需要提供一种不同的方法来为后代类设置字段(这是不太可能的),那么您可以使用方法或其他属性.
请记住,受保护的成员本质上只是一个稍微受限制的公共成员,因为它可以通过客户端代码访问,只要它在后代类中即可.这意味着客户端代码可以直接绑定到类的实现而不是它的接口,这是一件坏事!
Row*_*haw 11
从第二个片段开始,即
public string Name { get; set; }
Run Code Online (Sandbox Code Playgroud)
需要添加验证时将其更改为第一个代码段的形式,或者在设置值时执行某些逻辑.
我会避免使用最后一个选项,因为它允许覆盖类直接访问将您绑定到特定实现的支持字段(这也意味着可以绕过您可爱的验证)
| 归档时间: |
|
| 查看次数: |
3928 次 |
| 最近记录: |