问题描述
按照小弟的理解,C#中的属性之多只能有get方法和set方法,书上称之为访问器.那上图中的属性的方法Add()该如何理解?还是说这两个属性不是同一个意思?恳请大神指教~
解决方案
解决方案二:
Items属性本身是一个ListViewItemCollection类型的实例,Add方法是这个类型的一个方法。
解决方案三:
publicListViewItemCollectionItems{get;}
仍然是属性,只是他的类型是ListViewItemCollection,所以他才有add这个方法
解决方案四:
Add不是属性,属性其实是语法糖,它们是get/set开头的函数,比如你写publicintA{get;set;}其实产生这么两个方法publicintget_A(){}和publicvoidset_A(intvalue){}
解决方案五:
你可以这样理解ListViewItemCollectionx=listView1.Items;x.add(xxx);上面的过程等同listView1.Items.Add(xxx);publicListViewItemCollectionItems{get;}//属性PrivateListViewItemCollectionm_Items;//字段
属性和字段的区别是限制与保护。属性是不可以存储数据的,所以虽然代码上看起来是publicListViewItemCollectionItems{get;}但事实上会生成私有变量publicListViewItemCollectionItems{get{returnm_Items;}}
这是后面的版本语法糖
时间: 2024-10-09 20:16:24