Capisco che ne abbiamo bisogno per marcare una classe i cui oggetti possono essere serializzati, ma abbiamo assolutamente bisogno di questo perché la logica del retro funzioni? Potremmo semplicemente serializzare l'oggetto usando i metodi necessari. D'altra parte, se vogliamo impedire la serializzazione, avere questo attributo ha senso, in quel caso [NonSerialized()]
diventa ridondante.
Considerando sintassi e semantica, qual è la necessità di questo attributo?