Новото 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 ме „предупреждава“, че изхвърлям fs повече от веднъж. Така че въпросът ми е следният, дали правилният начин да напиша това е:
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