快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

第十章 属性[《.net框架程序设计》读书笔记]

第十章 属性

摘要:

本章讨论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框架程序设计》读书笔记]
    微笑服务 优质保证 索取样品