我正在观看 Funq 的截屏视频,但我不明白测试代码中包含以下 lambda 的内容:
var container = new Container();
container.Register<IBar>(c => new Bar());
声明:
public void Register<TService>(Func<Container, TService> factory) { ... }
在 lambda 中,new Bar()充当TService,而c充当Register 方法中使用的 Func的容器。
在执行期间,这个 c 什么时候被删除?是不是一开始就创建的容器,因为我不明白一个Container的实例是什么时候传递给Register方法的。