文章:通过索引器简化 C# 类型信息访问

  • 王翔

2008 年 7 月 13 日

话题:.NET语言 & 开发

对象封装时,往往要考虑采用简洁的方式提供对类型内部成员的访问,作为 C# 的一个语法特性——索引器非常适合完成该任务。

索引器(Indexer)可以让客户程序用近似数组的方式访问对象内部成员,将访问方法封装为索引器可以令客户代码更为简洁、直观。不过.NET 的索引器还提供基于联合键(Federated Key)的访问,利于对于一些结构比较复杂(尤其是那些同时受到多个纬度、多个属性制约而导致变化)的类型以简单的方式访问。

基于.NET 提供的托管委托机制,索引器设计上除了可以把键值作为参数外,还可以把检索过程中需要执行的规则和算法以委托的形式传递给索引器,在更大程度上提高了目标对象检索的灵活性,同时尽量保持目标类型检索接口的稳定性。

随着.NET 过渡到 3.5 版本,LINQ 作为一个具有普遍适应性的“实体 / 数据”技术,简化对各种异构数据的访问。索引器可以把 LINQ 作为具体实现技术,在提供简单访问接口的同时,提供对各种异构数据的统一检索。

了解更多的内容,请观看完整文章通过索引器简化 C# 类型信息访问

.NET语言 & 开发