私はFunqのスクリーンキャストを見ていますが、テストコードの次のラムダで何かを理解していません:
var container = new Container();
container.Register<IBar>(c => new Bar());
宣言:
public void Register<TService>(Func<Container, TService> factory) { ... }
ラムダでは、new Bar()はTServiceとして機能し、cは Register メソッドで使用される Funcのコンテナーとして機能します。
実行中、この c はいつ宣言されますか? ContainerのインスタンスがRegisterメソッドに渡されるタイミングがわからないので、最初に作成したコンテナでしょうか。