가독성 향상 이외의 목적을 달성하지 못하는 확장 메서드 사용에 대한 일반적인 생각은 무엇입니까?가독성 향상을위한 확장 메서드 사용
확장 방법을 사용하지 않고 우리는
가var descendents = GetDescendents(someControl);
또는 아무 잘못이와있다 없지만
foreach (var descendent in GetDescendents(someControl)) {}
호출 할 수
IEnumerable<DependencyObject> GetDescendents(DependencyObject root) {}
내가 인스턴스를 찾을 방법이있을 수 있습니다 .method() 표기법을 좀 더 읽기 쉽도록 확장 메서드로 만들 것을 고려해 볼 수 있습니다. w 허용이 서명
public IEnumerable<DependencyObject> GetDescendents(this DependencyObject root) {}
i 번째 그것은 그래서 내 질문이 합리적 또는 확장 메서드의 남용이라고 생각 여부
var descendents = someControl.GetDescendents();
또는
foreach (var descendent in someControl.GetDescendents()) {}
호출합니다. 단순히 기능을 다르게 선언하는 문제라면 주저하지 않을 것입니다. 하지만 확장 메소드를 사용하려면 정적 클래스로 코딩해야한다는 사실 때문에 노력할만한 가치가 있는지 없는지 궁금합니다. 위에서 사용하고있는 예제는 꽤 일반적이며, 여러 곳에서 사용될 확장 메소드로서의 장점이 있지만, 종종 그렇지 않습니다. 그리고 같은 파일에 확장자를 포함하는 정적 클래스를 코딩 할 것입니다. 그것을 사용하는 단일 클래스.
나는이 부분을 결코 생각하지 못했습니다. 그것은 많은 의미가 있습니다. –