知识大全 .NET中的特殊类型成员[3]
Posted 索引
篇首语:水滴集多成大海,读书集多成学问。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 .NET中的特殊类型成员[3]相关的知识,希望对你有一定的参考价值。
.NET中的特殊类型成员[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
索引属性
某些类型 如System Collections SortedList暴露逻辑元素列表 为了能轻松存取这种类型中的元素 可以定义一个索引属性(也叫索引器 indexer) 一个索引属性的例子 其索引器的的使用极其简单
BitArray ba = new BitArray( );
for (int x = ; x < ; x++)
// 置所有偶数位为 on
ba[x] = (x % == );
Console WriteLine( Bit + x + is + (ba[x] ? On : Off ));
BitArray例子中 索引器带一个Int 参数 bitPosition 索引器必须至少带一个参数 参数个数可以是两个或更多 这些参数(以及返回类型)可以是任何类型 创建以String作为参数的索引器查找联合数组中的值是十分普通的事情 一种类型可以提供多个索引器 只要其原型不同
就像set属性 set索引器存取方法包含一个隐藏的参数 值 当存取方法被调用时 它表示想得到一个新的值 BitArray的set存取方法显示了这个参数值的使用
一个设计良好的索引器应该具备get和set两个存取方法 即便你能只实现get存取方法(对于只读语义)或者只实现set存取方法(对于只写语义) 建议你的索引器实现两个存取器 理由很简单 索引的使用者不希望只有半个行为 例如 当编写下面两行代码时 使用者不想看到编译器出错
String s = SomeObj[ ]; // 如果有存取器 编译 OK
SomeObj[ ] = s; //如果没有存取器 编译出错
索引器总是起类型实例的作用 并且不能被声明为静态 但它可以是公共的 私有的 保护的或内部的
当你创建索引属性时 编译器实际上会发布专门的get_Item和/或set_Item存取器方法 大多数编译器都会理解这些专门的方法并且会允许开发人员利用专门的索引属性语法存取这些方法 但是 与CLS(公共语言系统)兼容的编译器不需要完全支持索引属性 只要编译器支持专用存取器调用即可
同样 对于完全支持索引属性的编译器在定义和使用这些属性的时候 需要的语法稍有差别 例如 C++受管扩展需要使用_property关键字
结论
本文中所讨论的概念对于所有 NET的程序员来说极其重要 我所提到的特殊的类型成员使组件成为公共语言运行时最重要的内容 也就是说 现代组件被设计成支持属性
cha138/Article/program/net/201311/15660相关参考
.NET中的特殊类型成员[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 属性 许多类型定
.NET中的特殊类型成员[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本文我们将考察类型
知识大全 ASP.NET入门教程 4.2.3 成员关系[2]
ASP.NET入门教程4.2.3成员关系[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb
知识大全 ASP.NET入门教程 4.2.3 成员关系[1]
ASP.NET入门教程4.2.3成员关系[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb
C#.Net中的类型转换 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 装箱拆箱还是别名 许多
C#.Net中的类型之间的转换 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 装箱拆箱还是别
用Pascal规则来命名方法和类型(笔者注:单词首字母大写) > 用Camel规则来命名局部变量和方法的参数(笔者注:首单词小写其余单词首字母大写笔者使用此方式命名成员变量) > 所有
类有一个特殊的成员函数叫做构造成员函数它通常用于初始化类的数据成员在创建对象时会自动调用类的构造成员函数Java中的构造成员函数必须与该类具有相同的名字另外构造成员函数一般都应用public类
知识大全 使用.NET Framework中新的日期时间类型[3]
使用.NETFramework中新的日期时间类型[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
C#类型成员样式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 静态成员