在C#中按另一个对象的属性排序对象列表

时间:2009-06-25 10:31:55

标签: c# sorting

我们有一个基于活动的系统,邀请用户加入[UserInvite]。

目前,我有一个页面列出了邀请参加活动的所有用户;它们可以按各种属性排序,例如姓氏[升序和降序]。所有罚款和花花公子,但现在我需要另外按UserInvite属性排序:DateEdited [再次asc / desc]。我一直在使用一个扩展方法,它接受一个属性名称的字符串来排序,但是这不适用于另一个类的属性。

注意:

  1. UserInvite有一个方法可以通过Event和User获取,它总是返回一个UserInvite [如果没有找到邀请则为null]。
  2. 当前的EventID保存在Master页面中,因此可以在列出Users
  3. 的页面上找到

    这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

是否有从EventUserInvite的路线?如果是这样,只需走一段关系。实际上,最简单的方法是在Event重新公开这个日期 - 即。

public DateTime InviteDate {get {return Invite.Date;}} // or similar

并按InviteDate排序 - 但您也可以使用“Invite.Date”这样的字符串并按点分割 - 例如here's类似于IQueryable<T>的字符串 - 尽管它目前不处理null