`System.IDisposable` インターフェースを実装したクラスを使用する際、例外が発生しても確実に `Dispose` が呼ばれるようにするための構文はどれか。

`using (var x = new X()) { … }` 構文は、コンパイル時に `try { … } finally { x.Dispose(); }` に展開されるため、例外発生時でも確実にリソースが解放される。