Использование оператора с несколькими переменными
Можно ли сделать этот код немного более компактным, так или иначе объявив переменную 2 внутри одного и того же блока?
using (var sr = new StringReader(content))
{
using (var xtr = new XmlTextReader(sr))
{
obj = XmlSerializer.Deserialize(xtr) as TModel;
}
}
Ответы
Ответ 1
Принятым способом является просто привязка операторов:
using (var sr = new StringReader(content))
using (var xtr = new XmlTextReader(sr))
{
obj = XmlSerializer.Deserialize(xtr) as TModel;
}
Обратите внимание, что среда IDE также поддерживает этот отступ, т.е. намеренно не пытается отступать от второго оператора using
.
Ответ 2
Следующие действия работают только для экземпляров того же типа! Спасибо за комментарии.
Этот пример кода от MSDN:
using (Font font3 = new Font("Arial", 10.0f), font4 = new Font("Arial", 10.0f))
{
// Use font3 and font4.
}