Kiedy zaczynasz proces i nie dbasz o wynik, czy to w porządku?Podczas wykonywania procesu Process.Start() trzeba go zawinąć w użyciu?
Process.Start(xxx);
Albo należy zrobić to
using (Process.Start(xxx)){}
Kiedy zaczynasz proces i nie dbasz o wynik, czy to w porządku?Podczas wykonywania procesu Process.Start() trzeba go zawinąć w użyciu?
Process.Start(xxx);
Albo należy zrobić to
using (Process.Start(xxx)){}
Patrząc na realizacji sposobu Process.dispose(bool)
pokazuje, że nazywa to Close()
na przykład Process
. To z kolei czyści natywny uchwyt procesu, więc prawdopodobnie nie jest to zły pomysł.
czyści się również uchwyt oczekiwania, że wykorzystuje się do sprawdzenia, czy proces został zakończony.
Nawet jeśli nie używasz blok using (...)
Finalizer złapie tych zasobów w końcu.
Process
obiekt, który jest zwracany przez Process.Start
zawiera proces systemu Windows HANDLE
, więc powinien być umieszczony po nie muszą już korzystać z obiektu Process
.
Jeśli nie potrzebujesz w ogóle używać zwróconego obiektu Process
, pusty blok using
jest w porządku. Zauważ, że wyrzucenie Process
zwalnia uchwyt, ale (na szczęście) nie zatrzymuje procesu od wykonania.
Należy pamiętać, że jest to ogólnie w złym smaku używać skrótów takich jak 'u' ... – RCIX
RCIX: dobry punkt. naprawiony – Simon