日期:2014-05-20  浏览次数:20755 次

不要提供仅支持 Set 操作的属性,为什么?
不要提供仅支持 Set 操作的属性。

 
如果无法提供属性 getter,可以改用一个方法来实现该功能。方法名称应以 Set 开头,并按原样后跟属性名。例如,AppDomain 使用一个名为 SetCachePath 的方法,而不是名为 CachePath 的仅支持 Set 操作的属性。

引用地址
http://msdn.microsoft.com/zh-cn/library/ms229006(v=vs.80).aspx


上面的话来自msdn,但我不明白为什么这样做,提供公支持Set操作的属性,缺点在哪里?为什么要改用方法来实现

------解决方案--------------------
应该是这样的属性没有意义才不建议的。
------解决方案--------------------
set,编译后就是个方法
个人认为只是可以加访问控制和简单逻辑的字段

如果只提供set,改为方法,更直观,明了
------解决方案--------------------
“不要提供仅支持 Set 操作的属性”的寓意 --- 都让写了,为什么不让读呢
只有写操作,一个方法比较好