public class Lei : Button
{
    public int LeiNum { get; set; }
}上面这几行代码,在类里定义一个变量为什么只有get;set;看帮助文档里面的例子后面跟的有个赋值语句,这里没有,具体什么意思呢?
麻烦论坛各位前辈多多指点~~小弟感激不尽

解决方案 »

  1.   

    等于public class Lei : Button 

        private int _LeiNum;
        public int LeiNum { get{ return _LeiNum; } set{ _LeiNum = value; } } 

      

  2.   

    MSDN:
    自动实现的属性
    当属性访问器中不需要其他逻辑时,自动实现的属性可使属性声明变得更加简洁。当您如下面的示例所示声明属性时,编译器将创建一个私有的匿名后备字段,该字段只能通过属性的 get 和 set 访问器进行访问。 示例
    C#  复制代码 
    class LightweightCustomer
    {
        public double TotalPurchases { get; set; }
        public string Name { get; private set; } // read-only
        public int CustomerID { get; private set; } // read-only

    自动实现的属性必须同时声明 get 和 set 访问器。若要创建 readonly 自动实现属性,请给予它 private set 访问器。 可以在自动实现的属性 (Property) 上使用属性 (Attribute),但由于属性 (Attribute) 不可从源代码访问,显然不能用在支持字段上。如果您必须在属性 (Property) 的后备字段上使用属性 (Attribute),则应该只创建常规属性 (Property)。 
      

  3.   

    这么写意义不大吧?只有get set的话,默认就是get的也是他自己,set的也是他自己,这么写没什么特殊的含义吧
      

  4.   

    3楼的前辈,你的文档在哪里看的,怎么和帮助文档里说的不一样哦,帮助文档里的说明和二楼的差不多
    如果仅仅只有get和set,是不是就和5楼的说的一样,获取是自己,设置也是自己,不知说的对不
      

  5.   


    敲入prop+tab, 也出现这样的格式。
      

  6.   

    再次感受到了csdn前辈们的热情~~
    小弟感激不尽,今晚再看看帮助文档,好好想想,明天继续研究~~
    再问个题外话,这个奖励分数有什么用,不知不觉就有一百多分了...
      

  7.   

    你看的文档版本太低了,这是C# 3.0的Automatic Properties语法,MSDN 2008才有...它只是简化了写法,在编译时会自动生成一个private field,与旧2.0的语法完全一样...