笔记源于课堂编写:BiliBili
源视频教程:https://www.bilibili.com/video/BV1wx411K7rb
第P18课:传值/输出/引用/数组/具名/可选参数/扩展方法
1.值参数
2.引用参数
3.输出参数
第P19课:委托详解
1.什么是委托?
- 委托(delegate)是函数指针的”升级版”
- 一切皆地址
- 变量(数据)是以某个地址为起点的一段内存中所存储的值
- 函数(算法)是以某个地址为起点的一段内存中存储的一组机器语言指令
- 直接调用和间接调用
- 直接调用:通过函数名来调用,CPU通过函数名直接获取函数所在地址并开始执行——>返回
- 间接调用:通过函数指针来调用,CPU通过读取函数指针存储的值来获得函数所在地址并开始执行——>返回
- JAVA中没有委托性对应的功能实体
- 委托的简单使用
- Action委托
- Func委托
2.委托的声明(自定义委托)
- 委托是一种类(class),类似数据类型,所以委托也是一种数据类型
- 他的声明方式与一般的类不同,主要是为了照顾可读性和c/c++传统。
- 注意声明委托的位置
- 避免写错地方结果声明成嵌套类型
- 委托与所封装的方法必须”类型兼容”
3.委托的一般使用
4.委托的高级使用——多播委托
5.什么是接口和抽行类?
6.接口与单元测试
7.单元测试:断言成功
//另外一种方式
8.依赖注入
1.安装NuGet
2.导入命名空间
using System.Reflection;
using Microsoft.Extensions.DependencyInjection;