2013-07-19 27 views
22

Gần đây tôi đã nâng cấp lên R # 7.1 và tôi gặp sự cố này khi hành động To Property With Backing Field thay thế trường ủng hộ của tôi và di chuyển chúng lên đầu lớp .ReSharper 7.1 "Thuộc tính với Backing Field" Di chuyển trường ra khỏi vị trí

Ví dụ:

Bước 1: Xác định một đặc tính tự động:

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

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

Bước 2: ReSharper "Để tài sản Với Sao Field"

enter image description here

Kết quả mong đợi:

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

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

kết quả thu được:

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

Tôi đã được chơi với Type Members Layout cấu hình bằng cách bình luận là "instance fields" một phần, như thế này:

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

Nhưng tôi vẫn nhận được cùng một hành vi.

Q: Làm cách nào để ngăn chặn hành vi này và hoàn nguyên hành vi này đối với hành vi V6.X?

+0

Tôi không có ReSharper, vì vậy tôi không thể kiểm tra, nhưng điều gì sẽ xảy ra nếu bạn xóa '' khỏi thẻ ''? –

+0

@newStackExchangeInstance toàn bộ điều được nhận xét. Tôi nghĩ điều đó sẽ khắc phục được vấn đề, nhưng nó đã không –

+0

Hãy thử bỏ ghi chú và làm điều đó, xem điều gì xảy ra. –

Trả lời

9

Here là nhận xét bằng tiếng Nga từ nhà phát triển JetBrains. Bài viết được dành để phát hành R # 8. Ông nói rằng việc đặt các lĩnh vực tư nhân với nhau ngay từ đầu là trường hợp sử dụng phổ biến hơn nhiều so với việc đặt nó gần tài sản. Anh khuyên nên mở vé trong hệ thống phản hồi của họ. Hơn nữa, ông nói rằng có lẽ họ giới thiệu thiết lập như vậy trong phiên bản 8.1.
Tóm lại, hiện tại không thể.

+0

+1 => điều này thực sự hữu ích! bolshoe spasibo! –

+0

A vé đã được mở cho mục đích này và được lên lịch cho phiên bản V9.1 tại thời điểm này: https://youtrack.jetbrains.com/issue/RSRP-411980 – StuartQ

Các vấn đề liên quan