C#中属性只能有get,set方法吗?

问题描述

按照小弟的理解,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-12-22 13:00:44

C#中属性只能有get,set方法吗?的相关文章

iOS开发中CAlayer层的属性以及自定义层的方法_IOS

CAlayer层的属性一.position和anchorPoint 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint @property CGPoint position; 用来设置CALayer在父层中的位置 以父层的左上角为原点(0, 0) @property CGPoint anchorPoint; 称为"定位点"."锚点" 决定着CALayer身上的哪个点会在position属性所指的位置 以自己的左上角为原点(0,

重写UITableViewCell子类中属性的setter方法来实现隐藏或显示该cell中的某些控件

重写UITableViewCell子类中属性的setter方法来实现隐藏或显示该cell中的某些控件 为什么会需要这样子的一种方法来实现隐藏或者显示一个cell中的某些控件呢? 其实,隐藏cell中某些控件可以直接在tableView:cellForRowAtIndexPath:方法中直接实现,我们需要判断外部变量比如bool值来决定是否显示这个控件,但需要额外的代码写在tableView:cellForRowAtIndexPath:方法当中,如果我们把bool值传递给该cell让其自己判断是否

《ASP.NET MVC验证框架中关于属性标记的通用扩展方法》之继续扩展

首先需要对xVal有点熟悉: http://www.codeplex.com/xval 建议下载最新源码而不是编译版本 再看两篇文章: http://goneale.com/2009/03/04/using-metadatatype-attribute-with-aspnet-mvc-xval- validation-framework/ 深山老林将之翻译为:<ASP.NET MVC验证框架中关于属性标记的通用扩展方法> http://www.cnblogs.com/wlb/archive/2

属性查询-hql中自动生成的通过一个属性和属性值查询记录的方法怎么改成通过一个属性和该属性的多个值查?

问题描述 hql中自动生成的通过一个属性和属性值查询记录的方法怎么改成通过一个属性和该属性的多个值查? 解决方案 hql中用and来合并条件

详解Java继承中属性、方法和对象的关系_java

大家都知道子类继承父类是类型的继承,包括属性和方法!如果子类和父类中的方法签名相同就叫覆盖!如果子类和父类的属性相同,父类就会隐藏自己的属性! 但是如果我用父类和子类所创建的引用指向子类所创建的对象,父类引用所调用子类对象中的属性值或方法的结果是什么呢? 看代码: public class FieldDemo { public static void main(String[] args){ Student t = new Student("Jack"); Person p = t;/

Ajax中解析Json的两种方法对比分析

  这里给大家介绍的是Ajax中解析Json的两种方法对比分析,十分的实用,本文为学习笔记,属新手文章,欢迎指教! eval(); //此方法不推荐 JSON.parse(); //推荐方法 一.两种方法的区别 我们先初始化一个json格式的对象: ? 1 2 3 4 5 var jsonDate = '{ "name":"周星驰","age":23 }'   var jsonObj = eval( '(' + jsonDate + ')' );

在PowerPoint中插入视频的两种方法

     为追求更完美效果,在Powerpoint中通过shockwave Flash Object控件插入SWF格式动画已是家常便饭.但很多情况下,演示文档还需要视频做辅助,下面我们介绍在PowerPoint 2007中插入视频的两种方法.   直接插入法        这是最简单方法.用该法插入的视频,在演示界面中仅显示视频画面,和插入图片十分类似.可以说,这是一种无缝插入,效果相当不错,但同时局限性也很大.首 先,该法仅支持插入AVI.MPEG和WMV等Windows Media格式视频,

java-Java中子类实例可以调用父类方法吗

问题描述 Java中子类实例可以调用父类方法吗 20C 通常情况子类覆写父类方法如果是构造函数,直接用super()如果是普通方法用super.method() 但是如果创建了子类实例,比如A类中覆写了Object的equals()方法A a = new A();a怎么调用Object的equals()方法 A没有显示继承其他类 解决方案 PHP类中子类调用父类方法java中子类继承父类方法及调用规则java中子类,父类的方法调用及属性值 解决方案二: 因为你A类中重写了equals方法了,所以

BGP修改NEXT_HOP下一跳属性值的几种方法

本博文将为您详细介绍BGP修改NEXT_HOP下一跳属性值的几种方法,包括通过next-hop-self变更next-hop属性,通过route-map修改BGP路由NEXT_HOP属性值等.1.通过next-hop-self可以变更next-hop属性 498)this.w idth=498;' onmousewheel = 'javascript:return big(this)' src="http://s8.51cto.com/wyfs01/M02/44/C6/wKioOVK7h9TS_