get ; set;是啥意思?
public int RewardPoint
{
get;
set;
}
这个啥意思?
和 下面这个 的区别是什么? 上面的也没定义私有变量
private int _rewardPoint;
public int RewardPoint
{
get { return _rewardPoint; }
set { _rewardPoint = value; }
}
[最优解释]
效果是一样的 上面的是新写法好像是.net3.5以上的版本可用。
下面的是标准写法。
[其他解释]
public int RewardPoint
{
get;
set;
}
编译器会自动生成一个int类型的叫rewardPoint的变量的,用NET.Reflector看看就知道了。
不得不说.net的编译器nb啊。
[其他解释]
补充多点,rewardPoint是私有变量
还有get、set就是相当于java的访问器、修改器。
[其他解释]
1:这属于自动属性,只是简单的数据封装,没有任何逻辑校验
2:编译器会为自动属性创建对应的后备成员变量(字段)
3:所以两者其实原理都一样,只是用户自定义字段,有助于一些逻辑校验操作(比如年龄的有效性等)
[其他解释]
C# 3.0的新增语法,叫自动(实现)属性,和另一种等价。当然如果你用VS2005,就只能用完整的写法了。
[其他解释]
楼主 2者 无区别,
只不过第一个给 接口化了,
其实能不 都是 有 get Method 和 Set Method 的
你可以用 PropertyInfo 和 MemberInfo 反射的方式看下
他有2个方法
T Get()
{
retvalue
}
void Set()
{
value;
}
[其他解释]
楼上正解!!!
[其他解释]
楼上正解~~
[其他解释]
属性的读取和设置,前者一般在接口中设置。
[其他解释]
属性访问器
[其他解释]
非常感谢大家!
[其他解释]
不存在什么接口化,在C# 1.x~2.0中,可以用这种语法定义接口,但是和自动属性有本质的不同。