C#中property取代public field的好处是什么?

yang_lawrence 2012-09-13 02:18:51
如题。
...全文
303 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
devmiao 2012-09-13
  • 打赏
  • 举报
回复
对于初学者,最直接的好处莫过于,属性可以绑定控件,而字段不可以。
lc_ant 2012-09-13
  • 打赏
  • 举报
回复
数据安全性 和 可控制性
qldsrx 2012-09-13
  • 打赏
  • 举报
回复
filed是内部使用的,property是开放给外部使用的,这是约定。有些信息是内部存储但又不得不设置为public,让自己的项目可以方便调用,但是你写的项目可能给别的项目引用,这时就涉及到对外开放的部分,外部约定使用property。
最典型的例子就是数据表格控件DataGridView和属性显示控件PropertyGrid,基本上控件都只能识别Property,无视Filed。不过如果你定义的类只给自己用,就直接用Filed吧,那样效率会更好些。
另外Property还有附加功能,例如可以同时对多个Field进行赋值,或者在Get的时候初始化某个内部Field等等,都是为了方便在接口提供外部数据而存在的。
夜空皓月 2012-09-13
  • 打赏
  • 举报
回复
说一个比较实用但是并不冠冕堂皇的理由:方便调试。
种草德鲁伊 2012-09-13
  • 打赏
  • 举报
回复
封装.
shizhu820228 2012-09-13
  • 打赏
  • 举报
回复
1.控制是否可写
2.可以写IF
q107770540 2012-09-13
  • 打赏
  • 举报
回复
property可设置只get或只set
而 public field不可以吧

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧