由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
DotNet版 - 那位大侠能介绍一下 property in c# class的使用经验
相关主题
好像c#为了DotNet牺牲了不少vb.net如何显示缩小后窗口消失的程序(已解决)
C# interview question新手请教:如何理解generic interface can be an retrun type
请教VC++.net前景how to crack SN?
authenticationASP.NET impersonate cannot access network share drive
数据库讲座 ---- 得给Beijing mm 还债了 (转载)Named Parameters
M$真会骗钱C++: friend function
C#的new在method declaration里有和没有有啥区别么问一个简单的:setter 和getter有什么用处?
asp.net的webform和MVC有什么不同请教关于使用map和fields
相关话题的讨论汇总
话题: property话题: declare话题: field话题: public
进入DotNet版参与讨论
1 (共1页)
a********y
发帖数: 20
1
什么时候会用到呢?有什么好处?
p***n
发帖数: 635
2
可以用来实现比较严密的封装,控制外界与类的FIELD的接触.
实际上,不管是在C++还是在JAVA(e.g.,Bean)里头,用getter/setter 函数
(accessor,mutator)来控制外界读写的方式一经很常用了,C#只不过是在语
言里直接把这个常用的模式正式吸纳而已.
譬如,如果你想让一个属性只读, 就只定义一个GET好了. 很方便. 而且如果
你想改变属性的名称, 只用在一个地方改就行了.(呵呵, 如果在JAVA里摊上
个getter/setter 离好几百行的时候, 够费眼的.)

【在 a********y 的大作中提到】
: 什么时候会用到呢?有什么好处?
C****n
发帖数: 2324
3
OK.
The real world best pratice:
1. Never declare public field. All the fields should be private.
2. Declare a property for every field.
3. In property, initialize field value if necessary.
That's how/when you use property.
Some often used pattern:
private string _connectionString = null;
public string ConnectionString
{
get
{
if (_connectionString == null || _connectionString == "")
_connectionString =
ConfigurationSettings.AppSetting["ConnectionString"];
return _conn

【在 p***n 的大作中提到】
: 可以用来实现比较严密的封装,控制外界与类的FIELD的接触.
: 实际上,不管是在C++还是在JAVA(e.g.,Bean)里头,用getter/setter 函数
: (accessor,mutator)来控制外界读写的方式一经很常用了,C#只不过是在语
: 言里直接把这个常用的模式正式吸纳而已.
: 譬如,如果你想让一个属性只读, 就只定义一个GET好了. 很方便. 而且如果
: 你想改变属性的名称, 只用在一个地方改就行了.(呵呵, 如果在JAVA里摊上
: 个getter/setter 离好几百行的时候, 够费眼的.)

L*******r
发帖数: 1011
4
还有一点,如果你用VS.Net可以很方便的显示和管理他们。

【在 p***n 的大作中提到】
: 可以用来实现比较严密的封装,控制外界与类的FIELD的接触.
: 实际上,不管是在C++还是在JAVA(e.g.,Bean)里头,用getter/setter 函数
: (accessor,mutator)来控制外界读写的方式一经很常用了,C#只不过是在语
: 言里直接把这个常用的模式正式吸纳而已.
: 譬如,如果你想让一个属性只读, 就只定义一个GET好了. 很方便. 而且如果
: 你想改变属性的名称, 只用在一个地方改就行了.(呵呵, 如果在JAVA里摊上
: 个getter/setter 离好几百行的时候, 够费眼的.)

a********y
发帖数: 20
5
Thx.

【在 C****n 的大作中提到】
: OK.
: The real world best pratice:
: 1. Never declare public field. All the fields should be private.
: 2. Declare a property for every field.
: 3. In property, initialize field value if necessary.
: That's how/when you use property.
: Some often used pattern:
: private string _connectionString = null;
: public string ConnectionString
: {

e***g
发帖数: 158
6
it's about as verbose as getter/setter. the nice thing is the concept
is in the language, not by naming convention

【在 C****n 的大作中提到】
: OK.
: The real world best pratice:
: 1. Never declare public field. All the fields should be private.
: 2. Declare a property for every field.
: 3. In property, initialize field value if necessary.
: That's how/when you use property.
: Some often used pattern:
: private string _connectionString = null;
: public string ConnectionString
: {

w**w
发帖数: 5391
7
1 is a common sense, 3 is fine. but 2 ??

【在 C****n 的大作中提到】
: OK.
: The real world best pratice:
: 1. Never declare public field. All the fields should be private.
: 2. Declare a property for every field.
: 3. In property, initialize field value if necessary.
: That's how/when you use property.
: Some often used pattern:
: private string _connectionString = null;
: public string ConnectionString
: {

C****n
发帖数: 2324
8
OK, I didn't say it clearly. :-)
: 2. Declare a property for every field that needs to be accessed from
outside the class. :-)

【在 w**w 的大作中提到】
: 1 is a common sense, 3 is fine. but 2 ??
c*o
发帖数: 70
9
Declare a property as PUBLIC for every ...
because private and protected can be set and got directively.

【在 C****n 的大作中提到】
: OK, I didn't say it clearly. :-)
: : 2. Declare a property for every field that needs to be accessed from
: outside the class. :-)

1 (共1页)
进入DotNet版参与讨论
相关主题
请教关于使用map和fields数据库讲座 ---- 得给Beijing mm 还债了 (转载)
Getter and setter methods are evilM$真会骗钱
子类的assignment operator 怎么访问父类的private memberC#的new在method declaration里有和没有有啥区别么
请教一个C++问题asp.net的webform和MVC有什么不同
好像c#为了DotNet牺牲了不少vb.net如何显示缩小后窗口消失的程序(已解决)
C# interview question新手请教:如何理解generic interface can be an retrun type
请教VC++.net前景how to crack SN?
authenticationASP.NET impersonate cannot access network share drive
相关话题的讨论汇总
话题: property话题: declare话题: field话题: public