由于System.Diagnostics.Process
继承自实现了IDisposable
的Component
,我是否应该始终使用using
块来创建Process
呢?
例如,这段代码...
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
没有使用它。使用对象初始化器也是有帮助的。
如果我应该使用它,那么我是否应该去将其“retrofit”到我的现有代码库中?
如果不这样做会有什么后果呢?(假设每种情况下都正确调用了WaitForExit()
。)
using
块,您仍然可以使用对象初始化程序。我知道这个问题很旧了,但是我在.NET 2.0上进行了测试,至少到那时它可以正常工作。 - monkey0506