Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
f = File.Open("filename.dat", File.Open, FileAccess.Read, FileShare.Read);
...
f.Close();
File f;
try
{
f = FIle.Open("filename.dat", File.Open, FileAccess.Read, FileShare.Read);
...
}
finally
{
f.Close();
}
FileStream fs = null;
try
{
fs = File.OpenRead("");
}
finally
{
// Да, не забываем о проверке на null
if (fs != null)
fs.Close();
}
// переменная fs доступна после закрытия файла!
var b = fs.ReadByte();
using (var fs2 = File.OpenRead(""))
{
}
// переменная fs2 недоступна вне блока using
var a = File.Open("a");
using (a)
{
}
a.ToString(); // Должно быть в области видимостиПравильно ли я понимаю, что если внутри класса используется SafeHandle, то закрывать его можно даже если Dispose вызван из деструктора?
p.s.
Можно или даже нужно?
p.p.s
Приведите пример неуправляемого ресурса (непосредственное владение неуправляемым ресурсом в классе), пожалуйста.
Dispose pattern