摘要:
基于任务的异步模式 1、 I/O绑定与CPU绑定 I/O绑定:代码“等待”某些内容,例如:数据库中的数据,就是I/O绑定;async中返回一个Task或者Task<T>。 CPU绑定:代码执行开销巨大的计算,就是CPU绑定;等待使用Task.Run在后台启动的操作。 2、 异步模型核心 异步模型的核 阅读全文
摘要:
1、 泛型中心思想 延迟声明。 编译时使用占位符(`1,`2 数字表示对应的泛型参数个数),运行时用确定的类型进行替换。 同一个泛型类,不同的替换类型会动态生成不同的class。 2、 泛型缓存 适用于不同类型需要一份缓存的场景。 3、 泛型约束 基类/接口约束 Where T:People 引用类 阅读全文
摘要:
Start with:反射反射程序员的快乐。 1、 反射中心思想 实现动态可扩展应用程序。 反射的核心是Type类,这个类封装了关于类型的元素据,CLR拿着Type信息就可以创建相应的类型。 2、 代码执行过程 C# => 编译器 => DLL/EXE =>CLR/JIT => 机器码 metada 阅读全文