2013-07-19 11 views
22

Ho recentemente aggiornato a R # 7.1 e sto riscontrando questo problema quando l'azione To Property With Backing Field sposta i miei campi di protezione e li sposta all'inizio della classe .ReSharper 7.1 "Proprietà con campo di appoggio" Spostamento di campi fuori posto

Esempio:

Fase 1: Definire una proprietà auto:

public class MyClass 
{ 
    //... Lots of members here 

    public int MyNewProperty {get;set;} // <- Create auto Property 
} 

Fase 2: ReSharper di "Per proprietà con la protezione del campo"

enter image description here

Risultato previsto:

public class MyClass 
{ 
    //... Lots of members here 

    private int _myNewProperty; // <- Backing field immediately above property 
    public int MyNewProperty 
    { 
     get 
     { 
      return _myNewProperty; 
     } 
     set 
     { 
      _myNewProperty = value; 
     } 
    } 
} 

risultato ottenuto:

public class MyClass 
{ 
    private int _myNewProperty; // <- Backing field on top of the class 

    //... Lots of members here 


    public int MyNewProperty 
    { 
     get 
     { 
      return _myNewProperty; 
     } 
     set 
     { 
      _myNewProperty = value; 
     } 
    } 
} 

Ho già giocato con la configurazione Type Members Layout commentando i "campi di esemplare" parte, come questo:

<!--instance fields--> 
<!--<Entry> 
     <Match> 
      <And> 
       <Kind Is="field"/> 
       <Not> 
        <Static/> 
       </Not> 
      </And> 
     </Match> 
     <Sort> 
      <Readonly/> 
      <Name/> 
     </Sort> 
    </Entry>--> 

ma io ancora ottenere lo stesso comportamento.

Q: Come è possibile evitare questo comportamento e ripristinarlo su V6.X?

+0

Non ho ReSharper, quindi non posso testare, ma cosa succede se si rimuove '' dal tag ''? –

+0

@newStackExchangeInstance l'intera cosa viene commentata. Ho pensato che avrebbe risolto il problema, ma non lo ha fatto –

+0

Prova a decommentarlo e farlo, guarda cosa succede. –

risposta

9

Here è il commento in russo da sviluppatore JetBrains. L'articolo è dedicato alla versione R # 8. Ha detto che mettere insieme i campi privati ​​all'inizio è molto più un caso d'uso comune che collocarlo vicino alla proprietà. Ha consigliato di aprire il ticket nel loro sistema di feedback. Inoltre, ha detto che forse introducono tali impostazioni nella versione 8.1.
In breve, non è possibile ora.

+0

+1 => questo è davvero utile! spasibo bolshoe! –

+0

A il biglietto è stato aperto per questo ed è programmato per la V9.1 al momento: https://youtrack.jetbrains.com/issue/RSRP-411980 – StuartQ