jessehouwing

StyleCop Resharper Ordering

Dec 31st, 2013
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 8.26 KB | None | 0 0
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- Last updated 15.05.2012 -->
  3. <Patterns xmlns="urn:shemas-jetbrains-com:member-reordering-patterns">
  4.  
  5.   <!-- Do not reorder COM interfaces -->
  6.   <Pattern>
  7.     <Match>
  8.       <And Weight="2000">
  9.         <Kind Is="interface"/>
  10.         <Or>
  11.           <HasAttribute CLRName="System.Runtime.InteropServices.InterfaceTypeAttribute"/>
  12.           <HasAttribute CLRName="System.Runtime.InteropServices.ComImport"/>
  13.         </Or>
  14.       </And>
  15.     </Match>
  16.   </Pattern>
  17.  
  18.   <!-- Do not reorder P/Invoke structs -->
  19.   <Pattern>
  20.     <Match>
  21.       <And Weight="2000">
  22.         <Or>
  23.           <Kind Is="struct"/>
  24.           <Kind Is="class"/>
  25.         </Or>
  26.         <HasAttribute CLRName="System.Runtime.InteropServices.StructLayoutAttribute"/>
  27.       </And>
  28.     </Match>
  29.   </Pattern>
  30.  
  31.   <!-- Do not reorder P/Invoke classes (called xxxNativeMethods) -->
  32.   <Pattern>
  33.     <Match>
  34.       <And Weight="2000">
  35.         <Kind Is="class"/>
  36.         <Name Is=".*NativeMethods" />
  37.       </And>
  38.     </Match>
  39.   </Pattern>
  40.  
  41.   <!-- StyleCop pattern -->
  42.   <Pattern RemoveAllRegions="true">
  43.     <Match>
  44.       <Or Weight="1000" >
  45.         <Kind Is="class" />
  46.         <Kind Is="struct" />
  47.         <Kind Is="interface"/>
  48.       </Or>
  49.     </Match>
  50.  
  51.     <!-- Constants -->
  52.     <Entry>
  53.       <Match>
  54.         <Kind Is="constant"/>
  55.       </Match>
  56.       <Sort>
  57.         <Access Order="public internal protected-internal protected private"/>
  58.         <Name/>
  59.       </Sort>
  60.       <Group Region="Constants"/>
  61.     </Entry>
  62.  
  63.     <!-- Static fields -->
  64.     <Entry>
  65.       <Match>
  66.         <And>
  67.           <Kind Is="field"/>
  68.           <Static />
  69.         </And>
  70.       </Match>
  71.       <Sort>
  72.         <Access Order="public internal protected-internal protected private"/>
  73.         <Readonly/>
  74.         <Name/>
  75.       </Sort>
  76.       <Group Region="Static Fields"/>
  77.     </Entry>
  78.  
  79.     <!-- Fields -->
  80.     <Entry>
  81.       <Match>
  82.         <Kind Is="field"/>
  83.       </Match>
  84.       <Sort>
  85.         <Access Order="public internal protected-internal protected private"/>
  86.         <Readonly/>
  87.         <Name/>
  88.       </Sort>
  89.       <Group Region="Fields"/>
  90.     </Entry>
  91.  
  92.     <!-- constructors and destructors -->
  93.     <Entry>
  94.       <Match>
  95.         <Or Weight="200">
  96.           <Kind Is="constructor"/>
  97.           <Kind Is="destructor"/>
  98.         </Or>
  99.       </Match>
  100.       <Sort>
  101.         <Static/>
  102.         <Kind Order="constructor destructor"/>
  103.         <Access Order="public internal protected-internal protected private"/>
  104.       </Sort>
  105.       <Group Region="Constructors and Destructors"/>
  106.     </Entry>
  107.  
  108.     <!-- delegates -->
  109.     <Entry>
  110.       <Match>
  111.         <Kind Is="delegate"/>
  112.       </Match>
  113.       <Sort>
  114.         <Access Order="public internal protected-internal protected private" />
  115.         <Static />
  116.         <Name/>
  117.       </Sort>
  118.       <Group Region="Delegates"/>
  119.     </Entry>
  120.  
  121.     <!-- public events -->
  122.     <Entry>
  123.       <Match>
  124.         <And>
  125.           <Kind Is="event"/>
  126.           <Access Is="public"/>
  127.         </And>
  128.       </Match>
  129.       <Sort>
  130.         <Access Order="public" />
  131.         <Static />
  132.         <Name/>
  133.       </Sort>
  134.       <Group Region="Public Events"/>
  135.     </Entry>
  136.  
  137.     <!-- interface events -->
  138.     <Entry>
  139.       <Match>
  140.         <And>
  141.           <Kind Is="event"/>
  142.           <ImplementsInterface/>
  143.         </And>
  144.       </Match>
  145.       <Sort>
  146.         <ImplementsInterface Immediate="true"/>
  147.         <Name/>
  148.       </Sort>
  149.       <Group Region="Explicit Interface Events" />
  150.     </Entry>
  151.  
  152.     <!-- other events -->
  153.     <Entry>
  154.       <Match>
  155.         <Kind Is="event"/>
  156.       </Match>
  157.       <Sort>
  158.         <Access Order="public internal protected-internal protected private" />
  159.         <Static />
  160.         <Name/>
  161.       </Sort>
  162.       <Group Region="Events"/>
  163.     </Entry>
  164.  
  165.     <!-- enum -->
  166.     <Entry>
  167.       <Match>
  168.         <Kind Is="enum"/>
  169.       </Match>
  170.       <Sort>
  171.         <Access Order="public internal protected-internal protected private" />
  172.         <Name/>
  173.       </Sort>
  174.       <Group Region="Enums"/>
  175.     </Entry>
  176.  
  177.     <!-- interfaces -->
  178.     <Entry>
  179.       <Match>
  180.         <Kind Is="interface" />
  181.       </Match>
  182.       <Sort>
  183.         <Access Order="public internal protected-internal protected private" />
  184.         <Name/>
  185.       </Sort>
  186.       <Group Region="Interfaces"/>
  187.     </Entry>
  188.  
  189.     <!-- public properties -->
  190.     <Entry>
  191.       <Match>
  192.         <And>
  193.           <Kind Is="property"/>
  194.           <Access Is="public"/>
  195.         </And>
  196.       </Match>
  197.       <Sort>
  198.         <Access Order="public"/>
  199.         <Static/>
  200.         <Name/>
  201.       </Sort>
  202.       <Group Region="Public Properties"/>
  203.     </Entry>
  204.  
  205.     <!-- interface properties -->
  206.     <Entry>
  207.       <Match>
  208.         <And>
  209.           <Kind Is="property"/>
  210.           <ImplementsInterface/>
  211.         </And>
  212.       </Match>
  213.       <Sort>
  214.         <ImplementsInterface Immediate="true"/>
  215.         <Name/>
  216.       </Sort>
  217.       <Group Region="Explicit Interface Properties" />
  218.     </Entry>
  219.  
  220.     <!-- other properties -->
  221.     <Entry>
  222.       <Match>
  223.         <Kind Is="property"/>
  224.       </Match>
  225.       <Sort>
  226.         <Access Order="public internal protected-internal protected private"/>
  227.         <Static/>
  228.         <Name/>
  229.       </Sort>
  230.       <Group Region="Properties"/>
  231.     </Entry>
  232.  
  233.     <!-- public indexers -->
  234.     <Entry>
  235.       <Match>
  236.         <And>
  237.           <Kind Is="indexer" Weight="1000" />
  238.           <Access Is="public"/>
  239.         </And>
  240.       </Match>
  241.       <Sort>
  242.         <Access Order="public" />
  243.         <Static/>
  244.         <Name/>
  245.       </Sort>
  246.       <Group Region="Public Indexers"/>
  247.     </Entry>
  248.  
  249.     <!-- interface indexers -->
  250.     <Entry>
  251.       <Match>
  252.         <And>
  253.           <Kind Is="indexer" Weight="1000"/>
  254.           <ImplementsInterface/>
  255.         </And>
  256.       </Match>
  257.       <Sort>
  258.         <ImplementsInterface Immediate="true"/>
  259.         <Name/>
  260.       </Sort>
  261.       <Group Region="Explicit Interface Indexers" />
  262.     </Entry>
  263.  
  264.     <!-- other indexers -->
  265.     <Entry>
  266.       <Match>
  267.         <Kind Is="indexer" Weight="1000" />
  268.       </Match>
  269.       <Sort>
  270.         <Access Order="public internal protected-internal protected private" />
  271.         <Static/>
  272.         <Name/>
  273.       </Sort>
  274.       <Group Region="Indexers"/>
  275.     </Entry>
  276.  
  277.     <!-- public methods (includes operators) -->
  278.     <Entry>
  279.       <Match>
  280.         <And>
  281.           <Or>
  282.             <Kind Is="method"/>
  283.             <Kind Is="operator"/>
  284.           </Or>
  285.           <Access Is="public"/>
  286.         </And>
  287.       </Match>
  288.       <Sort>
  289.         <Access Order="public"/>
  290.         <Static/>
  291.         <Name/>
  292.       </Sort>
  293.       <Group Region="Public Methods and Operators"/>
  294.     </Entry>
  295.  
  296.     <!-- interface methods -->
  297.     <Entry>
  298.       <Match>
  299.         <And>
  300.           <Kind Is="method"/>
  301.           <ImplementsInterface/>
  302.         </And>
  303.       </Match>
  304.       <Sort>
  305.         <ImplementsInterface Immediate="true"/>
  306.         <Name/>
  307.       </Sort>
  308.       <Group Region="Explicit Interface Methods" />
  309.     </Entry>
  310.  
  311.     <!-- other methods -->
  312.     <Entry>
  313.       <Match>
  314.         <Kind Is="method"/>
  315.       </Match>
  316.       <Sort>
  317.         <Access Order="public internal protected-internal protected private"/>
  318.         <Static/>
  319.         <Name/>
  320.       </Sort>
  321.       <Group Region="Methods"/>
  322.     </Entry>
  323.  
  324.     <!-- operators -->
  325.     <Entry>
  326.       <Match>
  327.         <Kind Is="operator"/>
  328.       </Match>
  329.       <Sort>
  330.         <Access Order="public internal protected-internal protected private" />
  331.         <Static/>
  332.         <Name/>
  333.       </Sort>
  334.       <Group Region="Operators"/>
  335.     </Entry>
  336.  
  337.     <!-- Nested structs -->
  338.     <Entry>
  339.       <Match>
  340.         <Kind Is="struct"
  341.              Weight="600" />
  342.       </Match>
  343.       <Sort>
  344.         <Static />
  345.         <Access Order="public internal protected-internal protected private" />
  346.         <Name/>
  347.       </Sort>
  348.     </Entry>
  349.  
  350.     <!-- Nested classes -->
  351.     <Entry>
  352.       <Match>
  353.         <Kind Is="class"
  354.              Weight="700" />
  355.       </Match>
  356.       <Sort>
  357.         <Static />
  358.         <Access Order="public internal protected-internal protected private" />
  359.         <Name/>
  360.       </Sort>
  361.     </Entry>
  362.  
  363.     <!-- all other members -->
  364.     <Entry/>
  365.  
  366.   </Pattern>
  367. </Patterns>
Advertisement
Add Comment
Please, Sign In to add comment