2014-11-09 5 views
0

Resharper 8을 사용하는 메서드를 리펙터링 할 때 메서드의 인수가 클래스의 인스턴스 변수에 종속되지 않으면 정적 메서드가 생성됩니다. 그러나 인스턴스 메서드를 만들 수도 있습니다.정적 메서드를 만드는 Resharper 리팩토링

성능상의 이유로 정적 메서드가 만들어 졌습니까?

TIA.

답변

1

맞습니다. 다음은 MSDN 문서 그것에 대해 말을하는거야 : 인스턴스 데이터에 액세스하거나 (Visual Basic의 경우 Shared) 인스턴스 메소드가 정적으로 표시 할 수 있습니다 호출하지 않는

회원. 메서드를 정적으로 표시하면 컴파일러에서이러한 멤버가 아닌 가상 호출 사이트를 방출합니다. 비가 상 호출 사이트를 내보내는 경우 각 호출마다 런타임에서 현재 객체 포인터 이 null이 아닌지 확인하는 것을 방지 할 수 있습니다. 성능에 민감한 코드 에 대한 측정 가능한 성능 향상을 얻을 수 있습니다. 경우에 따라 현재 개체 인스턴스에 액세스하지 못하는 것이 정확성 문제를 나타냅니다.

출처 : http://msdn.microsoft.com/en-us/library/ms245046.aspx