I 나타나는 오류 메시지는 다음과 같습니다구문 오류가
private static IEnumerable<Result> setOrderBy(IEnumerable<Result> value, string order)
{
if (order.Equals("ASC"))
{
//value = value.OrderBy(c => c, new SearchService.ResultComparer<Attribute>());
value = value.OrderBy<Result>(o => o.StringAttributes.Where(p => p.AttributeName == "Title"), new SearchService.ResultComparer<Attribute>());
//value = value.OrderBy(o => o.StringAttributes.Where(p => p.AttributeName == "Title"), new SearchService.ResultComparer<AttributeItem>()));
}
if (order.Equals("DESC"))
{
value = value.OrderByDescending(c => c, new SearchService.ResultComparer<Attribute>());
//value = value.OrderByDescending(o => o.StringAttributes.Where(p => p.AttributeName == "MatterName"));
}
return value;
}
A :
하나 이상의 객체가이 아래에있다하여 IComparable
코드의 원인을 구현해야합니다 작은 배경 : 내 MVC2 응용 프로그램에서 내 검색 컨트롤러에서 검색을 수행합니다. 결과보기로 결과를 보내면 결과를 오름차순 또는 내림차순으로 알파벳순으로 정렬하려고합니다. 그러나 결과 객체의 OrderBy 속성을 설정하는 로직을 작성할 때 VS2008에서 볼 수 있듯이 코드 밑에 구불 구불 한 빨간색 선이 생깁니다. 어떤 이유로이 메서드는 정렬을 수행하려고하는 데이터 모델을 좋아하지 않습니다. 각 Result 객체에는 다양한 속성이 있습니다. 그 중 하나는 string 유형의 속성 목록입니다 (따라서 StringAttributes라는 이름). All에있는 String 속성 중 하나의 값으로 내 IEnumerable 컬렉션의 각 Result 객체를 정렬하려고합니다. 내 결과 기록.
도와주세요.
은 온라인에서 당신은 에러가 발생합니까? – decyclone
btw, 하나만 가능하기 때문에'if() {} else if() {}'를 사용하는 것이 더 좋습니다 – abatishchev
고마워요. 보통 프로그래밍 할 때, 먼저 리펙토링을하고, 리펙토링을합니다. Agile Programming 어때요? – user374094