public void CopyTo(IListColumns target) { ListColumns targetColumns = target as ListColumns; if (targetColumns == null) { throw new ArgumentNullException("target"); } int num = fColumns.Count; for (int i = 0; i < num; i++) { var srcCol = fColumns[i]; var tgtCol = targetColumns.fColumns[i]; tgtCol.Order = srcCol.Order; tgtCol.CurActive = srcCol.CurActive; tgtCol.CurWidth = srcCol.CurWidth; } targetColumns.UpdateOrders(); }