|
| |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
第十章 属性 摘要: 本章讨论C#中的 属性 及 索引器 一、属性 分为静态属性、实例属性和虚属性 l 避免直接访问类型字段或使用烦琐的访问器方式进行访问 l 很好的实现了类型的数据封装,如:改变字段而维持属性的意义对用户是透明的 l 代码量小,运算量小的操作才使用属性,否则使用方式调用更合适 二、索引器 l 可有多个重载的索引器,只要参数列表不同即可 l 可通过应用System.Runtime.CompilerServices.IndexerNameAttribute特性改变编译器为索引器生成的方式名(缺省使用get_Item(…),set_Item(...)) l 不能通过上述改变方式名的办法来定义多个参数列一样而仅名称不同的索引器 l 没有所谓“静态索引器” 注:在属性或索引器中添加对参数或value值得判断有助于保证程序的完整性 一个简朴的示例: using System; class IndexerTest { private static string[] strArr = new string[5]; IndexerTest() { for(int i = 0; i < 5; i ++) { strArr[i] = i.ToString(); } } public string this[Int32 nIndex] { get{ return strArr[nIndex]; } set{ strArr[nIndex] = value; } } //提供不同的参数列进行重载索引器 public string this[byte bIndex] { get{ return strArr[bIndex]; } set{ strArr[bIndex] = (string)value; } } //只读属性 public string[] StrArr { get{ return strArr; } } public static void Main() { IndexerTest it = new IndexerTest(); it[1] = "Hello"; //利用索引器进行写操作 foreach(string str in it.StrArr) { Console.WriteLine(str); } } } /* 运行结果: 0 Hello 2 3 4 */ 返回类别: 教程 上一教程: 使用 Microsoft.NET Frameworks 创建Windows应用程序 下一教程: Community中的程序配置 您可以阅读与"第十章 属性[《.net框架程序设计》读书笔记]"相关的教程: · 第十一章 事件[《.net框架程序设计》读书笔记] · 第十二章 委托[《.net框架程序设计》读书笔记] · 第十五章 接口[《.net框架程序设计》读书笔记] · 第十三章 枚举类型与位标记[《.net框架程序设计》读书笔记] · 第十四章 数组[《.net框架程序设计》读书笔记] |
| 快精灵印艺坊 版权所有 |
首页 |
||