с помощью оператора FileStream и / или StreamReader - Visual Studio 2012 Warnings

Новая Visual Studio 2012 жалуется на общую комбинацию кода, которую я всегда использовал. Я знаю, что это кажется излишним, но я сделал следующее в своем коде «просто чтобы быть уверенным».

using (var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
    using (var sr = new StreamReader(fs))
    {
        // Code here
    }
}

Визуальная студия - это «предупреждение» мне, что я избавляюсь от ФС более одного раза. Итак, мой вопрос заключается в следующем: будет ли правильный способ написать это:

using (var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
    var sr = new StreamReader(fs);
    // do stuff here
}

Или я должен сделать это таким образом (или какой-то другой вариант, не упомянутый).

var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);

using (var sr = new StreamReader(fs))
{
    // Code here
}

Я искал несколько вопросов в StackOverflow, но не нашел чего-то, что напрямую касалось наилучшей практики для этой комбинации.

Спасибо!

Ответы на вопрос(7)

Ваш ответ на вопрос