큰 컬렉션에 첨부 된 iBindingListView
구현 (제 3 자 dll)에 바인딩 된 DataGridView
을 사용하여 문제가 발생했습니다..net 값 클래스 IComparable로 정렬
내 컬렉션 유형에 이름이 MyDateTime
인 특정 속성이 있습니다.이 속성은 DateTime과 비슷한 값 클래스이지만 일부 레거시 코드와도 같습니다.
이 구조체는 iComparable
, iComparable<T>
및 iEquatable<T>
을 구현합니다. 나는 MyDateTimeColumn
에 iBindingListView
에 정렬을 적용하면
, 그것은 항상 필요 권투와 언 박싱 수십만의 원인이 아닌 일반 iComparer
를 사용
난 데 문제는 이것이다.
DGV에서 제공하는 자동 정렬을 사용하면 열 정렬이 문자열에서 수행됩니다. 이 열에 프로그래밍 방식이 아닌이 열을 '자동'으로 유지하는 것은 허용되지 않습니다.
일반이 아닌 iComparer를 제거하면 일반 텍스트가 사용되지 않고 .ToString()에서 비교되는 문자열 만 수행됩니다.
나는 뭔가를 놓친가요? 제 일반적인 비교자가 왜 일종의 bieng 호출을하지 않았습니까?
"value class"에 의해,'struct'를 의미합니까? 또는 불변'클래스'? –
@Marc : 그는 권투를 언급하기 때문에, 그것은'구조'같이 소리가 난다. –
@Adam - 예, 방금 시도하려고합니다. –