笔记源于课堂编写: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;


