나는 DataGrids
과 ComboBoxes
에 콜렉션을 바인딩 할 때 WPF
응용 프로그램에ObservableCollection
을 사용했습니다. 그리고 조건에 따라 컬렉션에서 객체를 제거해야하는 요구 사항으로 인해 List
과 같이 Extension method
을 사용하여 RemoveAll
기능을 구현했습니다.확장 메서드 또는 상속?
This 게시물 Extension methods
이상 Inheritance
의 몇 가지 장점을 지정하지만 내가 추가하는 데 필요한 유일한 방법이었고, 나는 컬렉션에 대한 또 다른 Extension method
를 추가하지 않으려는 나의 사건에 대한 매우 구체적인하지 않습니다.
내가 이것을 Extension method
으로 구현하는 것이 더 좋을지 알고 싶습니다. 또는 클래스를 상속하고이를 Instance method
으로 추가해야한다고 생각합니까?
또한 언급 된 게시물에서 논의되지 않았으므로 두 성능 차이가 있는지 알고 싶습니다.
이것은 이름으로'Clear'를 사용하는 것을 고려하고 있습니다. 이것은 목록의 모든 것을 제거하는 것으로 잘 알려져 있기 때문에입니다. 다른 점은 컴파일러가 사용 가능한 경우 (성능면에서 더 좋음) 객체 - 구현을 사용한다는 것입니다. –
음, Clear()는 모든 것을 제거하고 그것이 내 요점이 아닙니다. –
아아, RemoveAll이 predicat-Delegate ...를 사용한다는 사실을 잊어 버렸습니다. 죄송합니다. 절대적으로 맞습니다. –