<p>Selon la <a href="https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1201.md">documentation des regles StyleCop</a>, l’ordre est le suivant.</p>
<p>Au sein d’une classe, d’une structure ou d’une interface : (SA1201 et SA1203)</p>
<ul>
<li>
<p>Champs constants</p>
</li>
<li>
<p>Champs</p>
</li>
<li>
<p>Constructeurs</p>
</li>
<li>
<p>Finaliseurs (Destructeurs)</p>
</li>
<li>
<p>Delegues</p>
</li>
<li>
<p>Evenements</p>
</li>
<li>
<p>Enumerations</p>
</li>
<li>
<p>Interfaces (<em>implementations d’interfaces</em>)</p>
</li>
<li>
<p>Proprietes</p>
</li>
<li>
<p>Indexeurs</p>
</li>
<li>
<p>Methodes</p>
</li>
<li>
<p>Structures</p>
</li>
<li>
<p>Classes</p>
</li>
</ul>
<p>Au sein de chacun de ces groupes, ordonnez par acces : (SA1202)</p>
<ul>
<li>
<p>public</p>
</li>
<li>
<p>internal</p>
</li>
<li>
<p>protected internal</p>
</li>
<li>
<p>protected</p>
</li>
<li>
<p>private protected</p>
</li>
<li>
<p>private</p>
</li>
</ul>
<p>Au sein de chaque groupe d’acces, ordonnez par statique, puis non-statique : (SA1204)</p>
<ul>
<li>
<p>static</p>
</li>
<li>
<p>non-static</p>
</li>
</ul>
<p>Au sein de chaque groupe statique/non-statique de champs, ordonnez par readonly, puis non-readonly : (SA1214 et SA1215)</p>
<ul>
<li>
<p>readonly</p>
</li>
<li>
<p>non-readonly</p>
</li>
</ul>
<p>Une liste deroulee fait 130 lignes de long, nous ne la deroulerons donc pas ici. La partie des methodes deroulee donne :</p>
<ul>
<li>
<p>public static methods</p>
</li>
<li>
<p>public methods</p>
</li>
<li>
<p>internal static methods</p>
</li>
<li>
<p>internal methods</p>
</li>
<li>
<p>protected internal static methods</p>
</li>
<li>
<p>protected internal methods</p>
</li>
<li>
<p>protected static methods</p>
</li>
<li>
<p>protected methods</p>
</li>
<li>
<p>private static methods</p>
</li>
<li>
<p>private methods</p>
</li>
</ul>
<p>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.</p>