Devo eliminare Process.Start(url)?

Devo eliminare Process.Start(url)?

Non potresti semplicemente avvolgerlo in un using clausola per garantire che il GC faccia tutto ciò che deve fare con esso SE sei tenuto a smaltirlo? Ciò consentirebbe comunque una sorta di "spara e dimentica" ma non lascerebbe memoria/risorse in cattivo stato.

Probabilmente eccessivo, ma c'è un ottimo articolo su CodeProject sull'interfaccia IDisposable:http://www.codeproject.com/KB/dotnet/idisposable.aspx


No, non lo fai.

void Main()
{
    Process result = Process.Start("http://www.google.com");

    if (result == null)
    {
        Console.WriteLine("It returned null");
    }
}

Stampe

It returned null

Da Process.Start Method (String) su MSDN (.NET Framework 4):

(In generale, però, il using istruzione è il modo giusto per lavorare con gli oggetti IDisposable. Fatta eccezione per i client WCF.)


L'avvio del processo è una chiamata nativa che restituisce un handle di processo nativo, archiviato nell'istanza di Process restituita. Esistono metodi in Process che utilizzano l'handle in modo che tu possa eseguire operazioni come attendere l'uscita del processo o diventare inattivo.

L'eliminazione del processo libera quella maniglia. Sono d'accordo con Jon, avvolgilo in una clausola using.