2013-07-19 41 views
22

我最近已升級到R#7.1,我遇到了這個問題,其中To Property With Backing Field行動取代我的支持字段並將其移動到類的頂部。ReSharper 7.1「與財產與支持領域」移動領域不合適

實施例:

步驟1:定義一個自動特性:

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

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

步驟2:ReSharper的 「財產隨着支持字段」

enter image description here

預期成果:

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

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

得到的結果:

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; 
     } 
    } 
} 

我已經在玩Type Members Layout配置通過註釋 「實例字段」 的一部分,是這樣的:

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

但我仍然得到相同的行爲。

問:如何防止這種行爲並將其恢復到V6.X?

+0

我沒有ReSharper,所以我無法測試,但如果從''標籤中刪除'',會發生什麼情況? –

+0

@newStackExchangeInstance整個事情都被註釋掉了。我認爲這樣可以解決問題,但它沒有 –

+0

嘗試取消註釋並做到這一點,看看會發生什麼。 –

回答

9

Here是來自JetBrains開發人員的俄語評論 。這篇文章專門討論R#8版本。他說,在一開始就將私人領域放在一起比將它放置在財產附近更爲常見。他建議在他們的反饋系統中打開票。此外,他說,也許他們在8.1版中引入了這樣的設置。
總之,現在是不可能的。

+0

+1 =>這真的很有用!spasibo bolshoe! –

+0

A機票已打開,目前預定爲V9.1:https://youtrack.jetbrains.com/issue/RSRP-411980 – StuartQ