Ordre des elements dans les classes : Champs, Proprietes, Constructeurs, Methodes

Ordre des elements dans les classes : Champs, Proprietes, Constructeurs, Methodes


Source : Stack Overflow [.net],)

Selon la documentation des regles StyleCop, l’ordre est le suivant.

Au sein d’une classe, d’une structure ou d’une interface : (SA1201 et SA1203)

  • Champs constants

  • Champs

  • Constructeurs

  • Finaliseurs (Destructeurs)

  • Delegues

  • Evenements

  • Enumerations

  • Interfaces (implementations d’interfaces)

  • Proprietes

  • Indexeurs

  • Methodes

  • Structures

  • Classes

Au sein de chacun de ces groupes, ordonnez par acces : (SA1202)

  • public

  • internal

  • protected internal

  • protected

  • private protected

  • private

Au sein de chaque groupe d’acces, ordonnez par statique, puis non-statique : (SA1204)

  • static

  • non-static

Au sein de chaque groupe statique/non-statique de champs, ordonnez par readonly, puis non-readonly : (SA1214 et SA1215)

  • readonly

  • non-readonly

Une liste deroulee fait 130 lignes de long, nous ne la deroulerons donc pas ici. La partie des methodes deroulee donne :

  • public static methods

  • public methods

  • internal static methods

  • internal methods

  • protected internal static methods

  • protected internal methods

  • protected static methods

  • protected methods

  • private static methods

  • private methods

La documentation indique que si l’ordre prescrit ne convient pas - par exemple, si plusieurs interfaces sont implementees et que les methodes et proprietes de l’interface doivent etre regroupees - alors utilisez une classe partielle pour regrouper les methodes et proprietes associees.