属性是很有用的,这个不用怀疑,可以封装私有字段等等一些好处,
但对于这样的代码而言,
public int EmailWorkID
{
get { return _EmailWorkID; }
set { _EmailWorkID = value; }
}与
public int EmailWorkID;
各位一般会用那种形式?请谈谈看法和理由。
个人倾向第二中,应为简单,第一中get,set都有,而且是简单的的赋值,
除了说 _EmailWorkID字段变化后,外部使用EmailWorkID不会影响外,
没见的有别的好处,请各位发表高见!!
但对于这样的代码而言,
public int EmailWorkID
{
get { return _EmailWorkID; }
set { _EmailWorkID = value; }
}与
public int EmailWorkID;
各位一般会用那种形式?请谈谈看法和理由。
个人倾向第二中,应为简单,第一中get,set都有,而且是简单的的赋值,
除了说 _EmailWorkID字段变化后,外部使用EmailWorkID不会影响外,
没见的有别的好处,请各位发表高见!!
解决方案 »
- DetailsView控件的InsertItemTemplate中,TextBox控件如何获取当前时间?
- [疑问]垃圾回收、托管堆、栈的涵义
- 请教一个线程同步问题
- 大家帮帮忙,,,急急急!!!!!!
- 请问如何获得屏幕的分辨率及相对于Winform的鼠标的坐标。
- C#的treeView中,怎样定位要进行查找的某一节点
- 如何在WINFORM中利用C#判断当前应用程序的运行位置(安装位置)?
- datagridview 计算列值和
- C#学习路线?请问C#初学者如何学习C#?应该看什么书?
- 谁能详细的说明一下 MarshalByRefObject 类
- 报表制作的问题!(高分-高手请进)
- 求读取多个嵌套标签的网页html正则表达式
很可能一段时间后,你需要给_EmailWorkID指定一个可用范围,或者觉得set属性可以不用public而改成internal。
看看 Framework 中类的属性和字段就会明白的!如果理解不了,只能说明您从未写过一个真正意义上的 Class!
public int Total
{
set
{
if(value > 0)
_total=...
else
...
}
}字段不行
就象james_hunter(辉)所说的:属性是特殊的访问器。访问器的作用除了封装类成员,还可以做一些逻辑.
得出的结论为,还是使用属性封装好,
1,便于以后的维护,说不定以后要把简单的赋值改为有显示条件的,这样就对外部影响就不会太大。
2. 提供一致的访问方式,如果有的用属性,有的用共有字段,确实有点乱。
3,.net框架好像都是用的属性,除了一种情况:静态公共字段,如:string.Empty,(vs2005)
结贴
得出的结论为,还是使用属性封装好,
1,便于以后的维护,说不定以后要把简单的赋值改为有显示条件的,这样就对外部影响就不会太大。
2. 提供一致的访问方式,如果有的用属性,有的用共有字段,确实有点乱。
3,.net框架好像都是用的属性,除了一种情况:静态公共字段,如:string.Empty,(vs2005)
结贴