Quando si tratta di using
dichiarazioni in C# (da non confondere con using
direttive che importare gli spazi dei nomi), Visual Studio non trattino singolo codice-line che segue, se non parentesi graffe sono impiegati. Questo è tipico di "annidamento" usando le istruzioni come mostrato in this SO question.Formattazione/rientro per l'utilizzo di dichiarazioni (C#)
trovo confuso che le successive dichiarazioni dopo using
non sono rientrati, a differenza della formattazione di un if
dichiarazione:
// non-indented using statement
using (var myResource = new SomeIDisposableResource())
myResource.Indent(false);
// indented if statement
if (something == true)
IndentMe();
C'è qualche motivo non per il rientro, o è solo la preferenza?
// indented using statement, but not the default VS formatting
using (var myResource = new SomeIDisposableResource())
myResource.Indent();
EDIT:
Ulteriori test rivela che ero errato su alcuni dei comportamenti formattazione VS. Se si digita una dichiarazione utilizzando:
using (var myResource = SomeIDisposableResource())
... e premere Invio, il cursore si allineerà con using
. Se la riga successiva è anche un'istruzione using, continuerà ad allinearsi. Se non lo è, VS la indenterà al completamento. Quindi la mia domanda originale è in qualche modo invalidata, perché il mio primo esempio non è realmente realizzabile a meno che non si sostituisca la formattazione predefinita o si usi un IDE che non lo fa.
Tuttavia, vale la pena sapere che più istruzioni using
vengono trattate come un blocco singolo perché tecnicamente lo sono. La mancanza di indentazione si applica solo quando le istruzioni sono istruzioni sequenziali using
senza parentesi graffe; e come ci si abitua, smettono di sembrare così insoliti.
Come sempre grazie a tutti coloro che hanno risposto per l'intuizione e l'esperienza anche in questi piccoli dettagli di programmazione.
Non capisco. Puoi mostrare esempi di entrambi gli stili? La domanda a cui ti sei collegato mostra il codice rientrato ... con i ricci ... –
@ Martin Fernandes: aggiunti esempi come richiesto. – JYelton
Funziona bene sulla mia macchina, rientra appena digito; Ho comunque scavalcato le impostazioni predefinite. –