XPTable.Models.Table.GetSecondaryComparers C# (CSharp) Method

GetSecondaryComparers() private method

Gets a collection of comparers for the underlying sort order(s)
private GetSecondaryComparers ( XPTable.Sorting.SortColumnCollection secondarySortOrders ) : XPTable.Sorting.IComparerCollection
secondarySortOrders XPTable.Sorting.SortColumnCollection
return XPTable.Sorting.IComparerCollection
        private IComparerCollection GetSecondaryComparers(SortColumnCollection secondarySortOrders)
        {
            IComparerCollection comparers = new IComparerCollection();

            foreach (SortColumn sort in secondarySortOrders)
            {
                ComparerBase comparer = null;
                Column column = this.ColumnModel.Columns[sort.SortColumnIndex];

                if (column.Comparer != null)
                {
                    comparer = (ComparerBase)Activator.CreateInstance(column.Comparer, new object[] { this.TableModel, sort.SortColumnIndex, sort.SortOrder });
                }
                else if (column.DefaultComparerType != null)
                {
                    comparer = (ComparerBase)Activator.CreateInstance(column.DefaultComparerType, new object[] { this.TableModel, sort.SortColumnIndex, sort.SortOrder });
                }
                if (comparer != null)
                    comparers.Add(comparer);
            }

            return comparers;
        }
Table