【发布时间】:2021-12-03 01:09:26
【问题描述】:
我在编程领域并不陌生,但是我需要帮助来理解这段代码中发生了什么。我确实了解构建器模式和 Action delagete(不返回任何内容,但可以接受一些参数)。
下面的代码让我很困扰:
0. var carBuilder = new CarBuilder().WithDoors(x => x.WithDoors(4)).Build();
1. public CarBuilder WithDoors(Action<DoorsBuilder> x)
2. {
3. var doorsBuilder = new DoorsBuilder();
4. x(doorsBuilder);
5. _car.AddDoors(doorsBuilder.Build());
6. return this;
7. }
- 第 4 行发生了什么?
- 我实际上在第 0 行中将什么传递给 WithDoors 函数?
- 是否可以以更简单的方式重写该代码(以便更好地理解:))?
【问题讨论】:
标签: c# design-patterns lambda delegates