关于GET SET 方法的无问题

ruguicheng 2012-02-26 07:20:08
大家告诉我一下,如果变量直接使用 public ,而不用GET SET 方法,会有什么不安全问题
...全文
80 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruguicheng 2012-02-26
  • 打赏
  • 举报
回复
明白多了,我就做些小网站,没太用到
qldsrx 2012-02-26
  • 打赏
  • 举报
回复
设置为属性是给别人用的,设置为字段是给自己用的。
如果你设计的类是内部使用的,请使用字段,没必要画蛇添足搞个属性,麻烦且效率低;
如果你设计的类是外部调用的(例如要传递给某个控件加载,或者让他人访问这个类,再或者要网络上传输),请一定要使用属性,不要偷懒用字段,特别是控件,只认属性不认字段,属性提供了很多高级特性,例如可以设置属性的特殊编辑工具(修改一个List类型的属性,将弹出一个集合修改对话框),可以给属性加分类,可以给属性排序等,类似PropertyGrid这样的控件,也只能对属性进行操作。
muyi66 2012-02-26
  • 打赏
  • 举报
回复
这样很容易导致如下场景:

求助:我的代码老是出现问题,怎么找都找不到问题。我很认真分析了整个模块的代码,都没问题啊。可是运行起来就是要出毛病!

呵呵,初学者常有的事。为了省点事,结果给自己省大了。
threenewbee 2012-02-26
  • 打赏
  • 举报
回复
和安全问题无关。
dalmeeme 2012-02-26
  • 打赏
  • 举报
回复
一般情况下,字段不要设为public或protected,参见:http://msdn.microsoft.com/zh-cn/library/ms229057
蔡袅 2012-02-26
  • 打赏
  • 举报
回复
功能变量谁都可以访问修改,安全无保证,无法制定规则

110,566

社区成员

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

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

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