2011-08-14 4 views
0

확인란을 통해 삭제할 수있는 표를 채울 개체가 있습니다. 문제는 객체가 생성 될 때 객체간에 공통적 인 몇 가지 속성으로 그룹화된다는 것입니다. 예를 들어 나는 GUI에서 GroupedObjects을 저장할 때 내가 다르게 설정 Name 속성 여러 개체가,이 예제의 목적개체의 속성을 기반으로 그룹 식별자 만들기

public class GroupedObject 
{ 
    Name { get; set; } 
    Level { get; set; } 
    Assignment { get; set; } 
    AssignmentDate {get; set; } 
} 

을 가지고 있지만 그들에게 같은 수준, 할당 및 AssignmentDate을 할당 할 수 있습니다. 따라서이 세 가지 속성은 배치를 고유하게 만듭니다. 이 세 가지 정보를 그룹화하는 고유 한 식별자를 만드는 가장 좋은 방법이 무엇인지 궁금합니다. 나는 그룹의 한 항목을 선택하면 "항목의 배치가"되도록 나는 백그라운드에서 렌더링 뭔가를 갖는 방법이 그리드에

public class GroupedObject 
{ 
    .... 
    public int BatchId 
    { 
     var batchString = string.format("{0}{1}{2}", Level, Assignment, AssignmentDate); 
     return batchString.GetHashCode(); 
    } 
} 

의 라인을 따라 뭔가이 방법을 생각했다 선택된.

이와 비슷한 처리 방법이 있습니까? 구현 자에게 달려 있습니다.

답변

1

내가 아는 한 표준 당신이 원하는 것을하기의 방법, 그래서 implemnter까지 꽤 많이.

구현의 유일한 문제는 문자열 생성입니다. 복합 ID에 포함 된 모든 멤버의 해시 코드를 가져 와서 서로 다른 해시 코드를 생성하면 더 잘 수행 할 수 있습니다. 아이디어는 this post을 참조하십시오.

참고 :

성능이 당신을 위해 문제 (그리드에 바인딩 많은 양의 데이터), 당신이 당신의 상황에 가장 적합한 볼 다른 알고리즘을 테스트해야합니다 인 경우.

+0

감사합니다. 더 나은 해결책 인 것 같습니다. – indigo0086

관련 문제