《Effective C#》读书笔记-1.C# 语言习惯-1.使用属性而不是可访问的数据成员
思维导图:
大纲:
1.使用属性而不是可访问的数据成员
属性
指定不同的访问权限
隐式属性降低了声明属性的工作量
允许将数据成员作为公共接口的一部分暴露出去
提供面向对象环境所需要的封装
享受方法调用的所有好处,可添加任意的验证或计算逻辑或只读属性,使用虚函数,抽象,多维数组
可使用数据绑定类:textBoxCity.DataBindings.Add("Text",address,"City");
出现新需求时更易于修改,例如赋值时可检查是否为空
添加多线程支持很简单
可以使用索引器
支持发布单一程序集,实现局部更新
调用代码与数据成员完全一致,可当成数据成员来用
数据成员
赋值添加检查时,需查找每一处代码逐一修复
修改为属性时破坏二进制兼容性,需更新整个应用程序
访问效率高于属性,但不明显