Microsoft.ManagementConsole.MmcListView.DoSort C# (CSharp) Метод

DoSort() приватный Метод

private DoSort ( int columnIndex, bool descending ) : int[]
columnIndex int
descending bool
Результат int[]
        private int[] DoSort(int columnIndex, bool descending)
        {
            if ((columnIndex < 0) || (columnIndex >= this.Columns.Count))
            {
                throw new ArgumentOutOfRangeException("columnIndex");
            }
            IResultNodeComparer comparer = ((this._options & MmcListViewOptions.UseCustomSorting) == MmcListViewOptions.None) ? new DefaultComparer() : this._sorter;
            if (comparer == null)
            {
                throw new InvalidOperationException(Microsoft.ManagementConsole.Internal.Utility.LoadResourceString(Microsoft.ManagementConsole.Internal.Strings.ListViewDoSortNoComparer));
            }
            comparer.SetColumnIndex(columnIndex);
            ResultNode[] array = this.ResultNodes.ToArray();
            this._states |= ListViewStates.SortingInProgress;
            Array.Sort(array, comparer);
            this._states &= ~ListViewStates.SortingInProgress;
            int[] numArray = new int[array.Length];
            for (int i = 0; i < array.Length; i++)
            {
                numArray[i] = array[i].Id;
            }
            if (descending)
            {
                Array.Reverse(array);
            }
            this.ResultNodes.Replace(array);
            return numArray;
        }