Domanda:
"Dovresti mai usare privato su campi e metodi in C #?"
Risposta rapida:
Sì, ma dipende dalla logica del codice.
Risposta estesa a lunga noia:
Suggerisco di specificare sempre la fruibilità per i membri.
Penso che sia un buon approccio per dichiarare i membri, per impostazione predefinita, come "privato".
Nel mondo reale, uso "protetto", invece.
Prima o poi, quel membro nascosto, potrebbe essere usato da una sottoclasse.
A volte, una buona domanda, può essere una risposta migliore, ponendo la domanda opposta.
La domanda opposta, alla tua domanda, potrebbe essere qualcosa di simile:
"Devo usare sempre il modificatore di accesso pubblico sui campi e sui metodi in C #"
In altri linguaggi di programmazione puoi "promuovere" protetto per il pubblico,
a seconda del tuo design.
Uso molte librerie di gerarchia profonda (visiva) di controllo, dove,
alcuni membri (proprietà, methos) sono richiesti.
A volte, è meglio renderle pubbliche, a volte no.