对象封装时,往往要考虑采用简洁的方式提供对类型内部成员的访问,作为 C#的一个语法特性——索引器非常适合完成该任务。
索引器(Indexer)可以让客户程序用近似数组的方式访问对象内部成员,将访问方法封装为索引器可以令客户代码更为简洁、直观。不过.NET 的索引器还提供基于联合键(Federated Key)的访问,利于对于一些结构比较复杂(尤其是那些同时受到多个纬度、多个属性制约而导致变化)的类型以简单的方式访问。
基于.NET 提供的托管委托机制,索引器设计上除了可以把键值作为参数外,还可以把检索过程中需要执行的规则和算法以委托的形式传递给索引器,在更大程度上提高了目标对象检索的灵活性,同时尽量保持目标类型检索接口的稳定性。
随着.NET 过渡到 3.5 版本,LINQ 作为一个具有普遍适应性的“实体 / 数据”技术,简化对各种异构数据的访问。索引器可以把 LINQ 作为具体实现技术,在提供简单访问接口的同时,提供对各种异构数据的统一检索。
了解更多的内容,请观看完整文章:通过索引器简化 C#类型信息访问
更多内容推荐
钨丝计划:Tungsten 给开发者带来了哪些福报?
今天这一讲,我们就来说说Tungsten的设计初衷是什么,它到底解决了哪些问题,以及它给开发者到底带来了哪些性能红利。
2021-05-05
C#的未来:协变返回类型
一个常见的API设计问题是无法在重写方法时使用更具体的返回类型。提案49(现在是C# 9的候选)试图纠正这个问题。
2023 年深圳.NET 线下技术沙龙要开始了!名额有限,报名从速
MASA技术团队来深圳啦!我们联合了深圳.NET俱乐部,将在深圳市举办一场.NET线下技术沙龙,为.NET开发者创造一次交流学习的契机,我们邀请到的几位技术大咖,将会围绕各自的主题向大家分享他们的技术心得。本场沙龙名额有限,以报名优先为准。
2023-03-09
.NET6 新东西 -- 隐式命名空间引用
早在 .NET 6 Preview 7版本中微软就已经引入隐式命名空间引用。在.NET Preview 7这个版本中这个功能是默认开启的,如果需要禁用它的化就需要配置DisableImplicitNamespaceImports来禁用,但是到了.NET6 RC1版本的时候这个功能是禁用的,如果要使用就需要通过
2021-11-17
微软推出 Microsoft.Data.SqlClient,替代 System.Data.SqlClient
微软继续努力将微软产品从.NET Core中分离出来,并将SQL Server驱动程序分离到了一个单独的部署流中。
AWS Lambda 增加对 .NET 6 的支持
AWS Lambda 做了哪些针对性改进?
Flink 集群资源管理器支持
2020-08-26
.NET 6 新东西 -- 高性能日志
一提到日志记录,大家就会想到log4net,如果提到.NET中的日志记录,一定会想到ILogger,这个ILogger是.NET中常用的提供的日志记录的方式,下面的代码是.NET Core WebAPI 项目初始化的代码,其中就使用了ILogger来提供日志记录:
2021-12-17
.NET 委托,事件和 Lambda 表达式
委托是一种引用类型(其实就是一个类,继承MulticastDelegate特殊的类。),表示对具有特定参数列表和返回类型的方法的引用。
2020-09-12
深圳.NET 线下技术沙龙倒计时一天
深圳.NET线下技术沙龙倒计时一天
2023-03-17
C# 8.0 正式发布:Visual Studio 2019 支持所有新功能
新的语言功能包括可为空的引用类型、异步流、默认接口成员及新的代码模式。
高级特性(一):揭秘元编程的实现机制
元编程是计算机语言提供的一项重要能力。如果你要编写一些通用性很强、功能强大的库,元编程功能通常会给予你巨大的帮助。
2020-09-07
综合实现(一):如何实现面向对象编程?
面向对象的语言可以有多种不同的设计选择,体现在类型体系、重用机制和信息封装等多个方面。
2020-09-11
GEO 是什么?还可以定义新的数据类型吗?
在统计海量数据时,五种基本数据类型的内存开销很大,而且对于一些特殊的场景,它们是无法支持的,那该怎么办呢?
2020-09-04
Entity Framework 7 支持批量操作和 JSON 列
EF7 Core可用于.NET 7和.NET 6。
微软正式发布 .NET 6 LTS 版本
号称是“迄今为止最快的 .NET”。
EPPlus - 用于 .NET 的 Excel 电子表格
我们都会遇到需要用程序操作Excel电子表格的情形。在这里推荐一个.NET非常好用的包EPPlus。
2022-08-24
C# 9 提案:模块初始化器
模块初始化器提案已经被提升到C# 9候选资格。它就像C#中的静态构造函数,但不是应用于一个类,而是应用于整个程序集。
PowerShell 哈希表
PowerShell 哈希表是一种数据结构,用于存储一个或多个键/值对。也称为字典或关联数组。在 PowerShell中,每个哈希表都有一个哈希表对象。我们可以在 PowerShell 中使用 Hashtable 对象的属性和方法。 哈希表中的键和值也是.NET类型的对象。
2021-07-09
同源策略及跨源访问
2020-09-17
暂无签名
推荐阅读
02|串讲:编程开发中,那些你需要掌握的基本概念
2021-08-22
2023 年成都.NET 线下技术沙龙来了!大咖分享,报名从速
2023-04-06
.NET 常见的 4 种加密算法
2023-09-18
23. Spring Boot 访问 Sentinel
2023-02-15
2023 年北京.NET 线下技术沙龙圆满落幕!
2023-05-23
.NET 的基元类型包括哪些?Unmanaged 和 Blittable 类型又是什么?一文带你深度解析
2023-06-27
12|类型系统:Rust 的类型系统有什么特点?
2021-09-20
电子书
大厂实战PPT下载
换一换 傅奎 | 雾帜智能 联合创始人 & CTO
王雷 | 华为 终端BG技术专家
陈渤 | 华为诺亚方舟实验室 高级算法工程师
评论