Il nostro sistema ha diverse classi di utilità.
Alcune persone del nostro team usano (A) una classe con metodi completamente statici e un costruttore privato.
Altri usano (B) una classe con metodi all-static (questi i junior).
Sull'analisi del codice, (A) e (B) sollevare l'avviso CA1052 , che consiglia contrassegnando la classe come sigillata.
Incluso nella documentazione MSDN c'è il seguente consiglio:
If you are targeting .NET Framework 2.0 or earlier, a better approach is to mark the type as static.
Perché ha senso? Avrei pensato il contrario; AFAIK, precedente alla 2.0, non c'era modo di contrassegnare una classe come statica.