当前位置:  开发笔记 > 编程语言 > 正文

什么时候应该使用字段而不是属性?

如何解决《什么时候应该使用字段而不是属性?》经验,为你挑选了2个好方法。

当你使用一个字段以及何时在课堂设计中使用一个属性时,任何人都能清楚地表达出来吗?

考虑:

public string Name;

要么:

private string _Name;
public string Name
{
   get { return _Name; }
   set { _Name = value; }
}

我意识到第二种方法更加合适和灵活,所以我通常会尝试使用它.

但那为什么我看到人们使用第一种方法呢?他们只是懒惰,还是有一些特定的情况,这是正确的选择?这只是一个偏好问题吗?



1> Alan..:

那么在C#3.0中,您实际上可以写:

public string Name {get; set;}

这让你变得恰到好处和懒惰.

一般来说,通过属性,您可以获得适当的封装.您可以选择允许设置值或获取值,或两者兼而有之.使用公共成员,您没有该选项.

它可能是一部分偏好,也是你的团队决定处理快速和脏类定义的一部分,但我会说,使用get/sets属性.

回答

当你使用属性以及何时在类设计中使用属性时,任何人都可以清楚地表达出来吗?

您不应该使用公共属性.您应该始终使用属性.它更安全,更灵活.也就是说,人们会懒惰,只是使用公共成员.但是,使用C#3.0,您可以使用更简洁的语法来定义属性,这应该满足您的内部懒惰.

只需键入prop并点击以加快添加属性的懒惰.


只是一个注意事项:在谈论代码时,你不应该说"不应该".

2> Billy..:

只是Alan的回复的一些额外信息:

public string Name {get; set;}

是相同的

private string _Name;

public string Name{   
get { return _Name; }   
set { _Name = value; }
}

如果你想禁止Name的set功能,你可以拥有

public string Name {get; 私人集;}

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有