web-dev-qa-db-ja.com

複数の変数を含むステートメントを使用する

同じusingブロック内で2つの変数を何らかの方法で宣言することにより、このコードをもう少しコンパクトにすることは可能ですか?

using (var sr = new StringReader(content))
{
    using (var xtr = new XmlTextReader(sr))
    {
        obj = XmlSerializer.Deserialize(xtr) as TModel;
    }
}
277
Antony Scott

受け入れられる方法は、ステートメントを連鎖させることです。

using (var sr = new StringReader(content))
using (var xtr = new XmlTextReader(sr))
{
    obj = XmlSerializer.Deserialize(xtr) as TModel;
}

IDEもこのインデントをサポートします。つまり、意図的に2番目のusingステートメントをインデントしようとしません。

512
Konrad Rudolph

以下は同じタイプのインスタンスでのみ機能します!コメントをありがとう。

このサンプルコードは MSDN からのものです。

using (Font font3 = new Font("Arial", 10.0f), font4 = new Font("Arial", 10.0f))
{
    // Use font3 and font4.
}
112
Frank Bollack