专题:01 技术剖析
共20篇相关文章

为什么ASP.NET Core的路由处理器能改用任意Delegate类型函数的?
毫不夸张地说,路由是ASP.NET Core最为核心的部分。路由的本质就是注册一系列终结点(Endpoint),每个终结点可以视为“路由模式”和“请求处理器”的组合,它们分别用来“选择”和“处理”请求。请求处理器通过RequestDeleg...

如何将无法序列化的自定义Key字典转换为可序列化形式?
当我们使用System.Text.Json.JsonSerializer对一个字典对象进行序列化的时候,默认情况下字典的Key不能是一个自定义的类型,本文介绍几种解决方案。一、问题重现 二、自定义JsonConverter能解决吗? 三、自...

能否直接在Null实例上调用方法?
前几天有个网友问我一个问题:调用实例方法的时候为什么目标对象不能为Null。看似一个简单的问题,还真不是一句话就能说清楚的。而且这个结论也不对,当我们调用定义在某个类型的实例方法时,目标对象其实可以为Null。一、从ECMA-335 Spe...

如何正确调用这个方法的三种形式?
在《可以调用Null的实例方法吗?》一文中,我谈到.NET方法的三种调用形式,现在我们就来着重聊聊这个话题。具体来说,这里所谓的三种方法调用形式对应着三种IL指令:Call、CallVirt和Calli。一、三个方法调用指令 二、三种方法调...

除了按值和引用,还有哪种方法参数传递方式?
参数在方法种具有按“值(by value)”和“引用(by ref)”两种传递方式,这是每个.NET程序员深入骨髓得基本概念。但是我若告诉你,.NET规定的参数传递形式其实是三种,会不会颠覆你的认知。一、官方描述 二、TypedRefere...
