在C#高级编程中看到,在类中如果声明:
Class A{
...
public string Name{set;get;}
...
}则属性自动实现,而且不需要声明private string name,编译器会自动创建这个变量;
但是我这样做以后查看类图,在这个类里只有公有的属性Name,没有私有成员变量,这是为什么呢?如果它生成了私有成员变量,那名字是什么呢?name? 还是Name?

解决方案 »

  1.   

    另外,“public string Name{set;get;}” 
    这里的public是不是只限定Name属性是公有的,如果缺省的话Name属性就是私有的?后面的{set;get;}里如果省略“private"则默认set和get都是公有的?书里说,“get和set必须有一个具备属性的访问级别,如果get访问器级别设为protected就会报错,因为这会使两个访问器的访问级别都不是属性”,这段话是什么意思?
      

  2.   


    我编译了以后仍然没有Age字段
      

  3.   

    都说了IL中才有嘛,使用IL反汇编程序查看。