Using内での変数宣言
Usingステートメント内で宣言した変数は、ステートメント終了とともにDisposeされる。
using System; using System.IO; public class Test: IDisposable { void IDisposable.Dispose() { Console.WriteLine("Disposing Test Class"); } } public class Tester { private static void Main() { using (Test hoge = new Test()) { string foo = "fooooo"; } Console.Write(foo); // コンテキスト内に存在しないのエラー } }
へーと思ってヘルプを読んでみたら
using ステートメント (C# リファレンス) スコープを定義します。スコープの外部ではオブジェクトが破棄されます。
思いっきりスコープ定義と書いてあるじゃん・・・
破棄されるのはusingに設定したオブジェクトだけかと思ってた。