リストをc#でソートするには、そのオブジェクトに格納されているオブジェクトのプロパティでソートします。リストをソートするリフレクションgetオブジェクトのプロパティ
if (sortColumn == "Login")
{
if (sortDir == "ASC")
{
filteredList.Sort((x, y) => string.Compare(x.Login, y.Login, true));
}
else
{
filteredList.Sort((x, y) => string.Compare(y.Login, x.Login, true));
}
}
そして、それが正常に動作しますが、私は、ソートするフィールドを知っている必要はないようにするためには、より一般的なやりたい:私はこれ持っています。私はこのようなことを考えている:
//With sortColumn = "Login";
if (sortDir == "ASC")
{
filteredList.Sort((x, y) => string.Compare(x.GetType().GetProperty(sortColumn), y.GetType().GetProperty(sortColumn), true));
}
else
{
filteredList.Sort((x, y) => string.Compare(y.GetType().GetProperty(sortColumn), x.GetType().GetProperty(sortColumn), true));
}
明らかにこれは機能しませんが、これは私が望むものです。それはどんな方法でも可能ですか?
ありがとうございました。
あなたは '.... GetPropertyの(sortColumn)以降.getvalue(...)を試してみました'? –