Se ho la seguente situazione:Ha Stream.Dispose chiamare sempre Stream.Close (e Stream.Flush)
StreamWriter MySW = null;
try
{
Stream MyStream = new FileStream("asdf.txt");
MySW = new StreamWriter(MyStream);
MySW.Write("blah");
}
finally
{
if (MySW != null)
{
MySW.Flush();
MySW.Close();
MySW.Dispose();
}
}
Posso chiamare MySW.Dispose()
e saltare il primo, anche se è previsto? Ci sono implants Stream che non funzionano come previsto (come CryptoStream)?
Se no, allora è il seguente codice solo male:
using (StreamWriter MySW = new StreamWriter(MyStream))
{
MySW.Write("Blah");
}
perché stai capitalizzando le variabili locali? Mi fa male la mia povera testa :( – mpen
La convenzione di dove sono è quello di utilizzare capitalizzata con ambito locale e inferiore per params (NewOrderLineItem vs newOrderLineItem) Proprio quello che sono abituato a =) – JasonRShaver
possibile duplicato del [Close e Dispose -., Che a chiama?] (http://stackoverflow.com/questions/61092/close-and-dispose-which-to-call) –