如题。

解决方案 »

  1.   

    property可设置只get或只set
    而 public field不可以吧
      

  2.   

    filed是内部使用的,property是开放给外部使用的,这是约定。有些信息是内部存储但又不得不设置为public,让自己的项目可以方便调用,但是你写的项目可能给别的项目引用,这时就涉及到对外开放的部分,外部约定使用property。
    最典型的例子就是数据表格控件DataGridView和属性显示控件PropertyGrid,基本上控件都只能识别Property,无视Filed。不过如果你定义的类只给自己用,就直接用Filed吧,那样效率会更好些。
    另外Property还有附加功能,例如可以同时对多个Field进行赋值,或者在Get的时候初始化某个内部Field等等,都是为了方便在接口提供外部数据而存在的。