web-dev-qa-db-fra.com

using instruction avec plusieurs variables

Est-il possible de rendre ce code un peu plus compact en déclarant d'une manière ou d'une autre la variable 2 à l'intérieur du même bloc using?

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

La méthode acceptée consiste simplement à enchaîner les déclarations:

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

Notez que IDE prendra également en charge cette indentation, c’est-à-dire qu’il ne tentera pas intentionnellement d’indenter la deuxième instruction using.

532
Konrad Rudolph

Ce qui suit ne fonctionne que pour les instances du même type! Merci pour les commentaires.

Cet exemple de code provient de MSDN :

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