using System; using System.Drawing; using System.Windows.Forms; using NaGet.Packages; using NaGet.Packages.Install; using System.IO; using System.Collections.Generic; namespace AppliStation.Util { /// /// ListViewのソートをカプセル化するためのクラス /// class ListViewItemSortComparer : System.Collections.IComparer { /// /// ソートの方向。昇順か?降順か? /// public SortOrder Order = SortOrder.Ascending; /// /// ソート対象のコラムインデックス /// public int Column = -1; /// /// コンストラクタ /// /// ソート対象のコラムインデックス /// ソートの方向。昇順か?降順か? public ListViewItemSortComparer(int index, SortOrder order) { this.Column = index; this.Order = order; } public int Compare(object x, object y) { ListViewItem itemx = (ListViewItem) x; ListViewItem itemy = (ListViewItem) y; int result = -1; result = string.Compare(itemx.SubItems[Column].Text, itemy.SubItems[Column].Text); switch (Order) { case SortOrder.Descending: result = -result; break; case SortOrder.None: result = 0; break; } return result; } } }