日期:2014-05-17  浏览次数:21162 次

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啊。
------其他解决方案--------------------
引用:
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;
}
------其他解决方案--------------------
楼上正解!!!
------其他解决方案--------------------
楼上正解~~
------其他解决方案--------------------
属性的读取和设置,前者一般在接口中设置。
------其他解决方案--------------------
属性访问器
------其他解决方案--------------------
非常感谢大家!
------其他解决方案--------------------
引用:
楼主 2者 无区别,

只不过第一个给 接口化了,

其实能不 都是 有 get Method 和 Set Method 的 

你可以用 PropertyInfo 和 MemberInfo 反射的方式看下 

他有2个方法

T Get()
{
retvalue