Новая Visual Studio 2012 жалуется на обычную комбинацию кода, которую я всегда использовал. Я знаю, что это кажется излишним, но я сделал следующее в своем коде «на всякий случай».
using (var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
using (var sr = new StreamReader(fs))
{
// Code here
}
}
Visual studio «предупреждает» меня, что я избавляюсь от файловой системы более одного раза. Итак, мой вопрос в том, будет ли правильный способ написать это:
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, но не нашел ничего, что напрямую касалось бы наилучшей практики для этой комбинации.
Спасибо!
FileStream
иStreamReader
, предупреждения не выдается. Это из-за комбинацииFileStream
иStreamReader
? Или VS2013 (в отличие от VS2012) признает, что это конкретное двойное удаление не является проблемой? - person sidbushes   schedule 10.09.2016