2009-08-25 4 views
11

Resharper를 사용할 때 어떤 이유로 확장 메서드를 호출하면 자동으로 정적 메서드 호출로 변환됩니다. 소위 Convert Extension Method to Plain Static 리팩토링입니다.resharper에서 "확장 메서드를 일반 정적으로 변환"자동 리팩터링을 해제하려면 어떻게합니까?

foo.Bar() 

는 코드 냄새로 다음 플래그이, 아이러니하게도

MyStaticExtensions.Bar(foo); 

된다. 이 기능을 끄려면 어떻게해야합니까?

+0

확인하는 것이 좋습니다 수정 이미 있습니까? ReSharper에서의 –

+0

최악의 특징은 지금까지 –

+3

는이 R # 9.1 오늘 일이 보았다 Enumerable.ToList (myvar.Select (Mapper.Map )) –

답변

2

나를 위해 일어나지 않습니다 (Resharper 4.5). "무음 정리"가 활성화되어 있습니까? (Resharper - 옵션 - 코드 정리).

+0

아니요, 정리 프로필이 설정되어 있지 않습니다. 이것은 실제로 특정 상황에서만 발생합니다. 즉, 부분 클래스에 정의 된 Linq To SQL 확장 메소드입니다. –

+1

@Charles : 좋아, 그 말이 더 의미가있다. 나는 재현하려고 노력할 것이다 ... –

+3

누구도 아직이 문제를 수정 했습니까? 확장 메서드에서 정적 메서드 호출로 변환 할 때 (실제로 자동 정리를 사용할 때) 짜증나기도하고 다시 변환 할 것을 제안합니다! :) LOL –

4

이 기능은 Resharper의 IntelliSense에 포함되어 있습니다. Resharper - 옵션 - IntelliSense - 라디오 버튼 Visual Studio 사용

1

Optimize 'using' directives의 선택을 취소하여이 동작을 비활성화 할 수 있습니다. R #이 그런 미친 행동을하는 것은 불쌍한 것입니다. 더 이상한 파일에 대해서만 이상하게. 나는 현재의 파일에서 Enumerable의 정적 메서드가 호출 될 때만 발생하는 것으로 추측 할 수 있습니다. 사용하여 정렬 및 청소 동작을 얻기 위해

, 내가 생산성 전동 공구를 설치하고 Options -> Text Editor -> C# -> Advanced -> Organize Usings -> Place 'System' directives first when sorting usings.

관련 문제