Возможный дубликат:
Что произойдет, если я не закрываю System.Diagnostics.Process в моем консольном приложении С#?
Как System.Diagnostics.Process
наследует от Component
, который реализует IDisposable
, должен ли я всегда создавать Process
с блоком using
?
Например, это...:
using (var process = new Process())
{
process.StartInfo.FileName = "some process.exe";
process.Start();
process.WaitForExit();
}
... вместо этого:
var process = new Process
{
StartInfo = { FileName = "some process.exe" }
};
process.Start();
process.WaitForExit();
Я спрашиваю, потому что я редко видел Process
в блоке using
; например, страница MSDN для Process
не использует его. Также полезно использовать инициализатор объекта.
Если я должен использовать его, должен ли я пойти и "модифицировать" его на существующую кодовую базу?
Какие могут быть последствия, если это не было сделано? (Предполагая, что WaitForExit()
вызывается правильно в каждом случае.)