複雑な構文解析を実行するAPIによっては、イベントを通じて中間結果を公開するものがある。たとえば、XDocument.Validate拡張メソッドはイベントを使用し、プログラムに検証エラーがあることを通知する。
従来の.NETプログラミングでは、これらのイベントのキャッチは、各イベントで別々の機能を作成することを意味していた。イベントハンドラーに出入りする追加情報を渡す直接的な手段が存在しないため、これらの機能は通常throwawayクラス内で実装される。
Eric White氏はクロージャーを使用し、より良い方法をデモしている。クロージャーは、ラムダや匿名インライン機能の特殊なケースである。クロージャーを特 殊にさせているのは、それにローカルではない変数を参照することができるが、ラムダを含んでいる機能にはローカルである点である。このおかげで、Eric 氏はイベント処理ロジックを機能に対してローカルに維持する(リンク)ことができる。以下のラインは、作成中および検証機能に渡されているクロージャーを示してい る。
snippet.Validate(schemas, (o, e) => errors += e.Message + Environment.NewLine);
補足として、C#およびVBのクロージャーは、必要なメンバー変数を含む匿名クラスとして実装される。「閉鎖」変数は新たなクラスに移行されて、元の機能とそれが含むすべての匿名機能によって参照される。