Из списка рассылки git , вот способ получить список хэшей коммитов для тегов с автоматической разыменовкой для аннотированных тегов:
git for-each-ref --format='%(if)%(*objectname)%(then)%(*objectname)%(else)%(objectname)%(end) %(refname)' refs/tags
Эмуляция свойства только для сортировки, вероятно, излишняя.
Первое, на что стоит обратить внимание, это Comparer
. Однако может оказаться, что проще всего:
List
или аналогичным образом кстати, вы также должны отключить уведомления во время существующей сортировки.
public void Sort() {
// TODO: clear your "sort" variables (prop/order)
T[] arr = new T[Count];
CopyTo(arr, 0);
Array.Sort(arr);
bool oldRaise = RaiseListChangedEvents;
RaiseListChangedEvents = false; // <=== oops, added!
try {
ClearItems();
foreach (T item in arr) {
Add(item);
}
} finally {
RaiseListChangedEvents = oldRaise;
ResetBindings();
}
}