Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataSet / System / Data / SortExpressionBuilder.cs / 1 / SortExpressionBuilder.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
// [....]
//-----------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Collections;
using System.Text;
using System.Data;
using System.Linq;
using System.Diagnostics;
namespace System.Data
{
///
/// This class represents a combined sort expression build using mutiple sort expressions.
///
///
internal class SortExpressionBuilder : IComparer>
{
/**
* This class ensures multiple orderby/thenbys are handled correctly. Its semantics is as follows:
*
* Query 1:
* orderby a
* thenby b
* orderby c
* orderby d
* thenby e
*
* is equivalent to:
*
* Query 2:
* orderby d
* thenby e
* thenby c
* thenby a
* thenby b
*
**/
//Selectors and comparers are mapped using the index in the list.
//E.g: _comparers[i] is used with _selectors[i]
LinkedList> _selectors = new LinkedList>();
LinkedList> _comparers = new LinkedList>();
LinkedListNode> _currentSelector = null;
LinkedListNode> _currentComparer = null;
///
/// Adds a sorting selector/comparer in the correct order
///
internal void Add(Func keySelector, Comparison
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SystemThemeKey.cs
- ReadOnlyDataSource.cs
- ExpressionBuilder.cs
- VariableQuery.cs
- TileBrush.cs
- SendMailErrorEventArgs.cs
- GridErrorDlg.cs
- DataGridTableCollection.cs
- _HeaderInfo.cs
- TableItemStyle.cs
- TemplateContentLoader.cs
- SamlConstants.cs
- CompiledQueryCacheEntry.cs
- AutoGeneratedField.cs
- ConfigurationManagerInternalFactory.cs
- DependencyObjectValidator.cs
- OledbConnectionStringbuilder.cs
- MatrixAnimationUsingPath.cs
- EntityDataSourceValidationException.cs
- SpellerHighlightLayer.cs
- BuildProviderCollection.cs
- WebPartZoneBase.cs
- EntityTypeEmitter.cs
- OracleDataAdapter.cs
- LinqDataSourceContextEventArgs.cs
- ReliableSessionElement.cs
- ActivityExecutionContext.cs
- URLIdentityPermission.cs
- TextEditorLists.cs
- NameValueConfigurationElement.cs
- EllipseGeometry.cs
- Byte.cs
- CheckBoxField.cs
- mda.cs
- AppearanceEditorPart.cs
- RijndaelManaged.cs
- ResourcePermissionBase.cs
- WebPartConnectionsEventArgs.cs
- MyContact.cs
- SpeechAudioFormatInfo.cs
- ToolStripSettings.cs
- StructuredTypeInfo.cs
- BaseInfoTable.cs
- ElementNotEnabledException.cs
- Baml2006ReaderContext.cs
- ListDictionaryInternal.cs
- Transactions.cs
- HtmlTextArea.cs
- DurationConverter.cs
- SelectionRangeConverter.cs
- Popup.cs
- StringArrayConverter.cs
- EditorPart.cs
- PriorityItem.cs
- CurrentTimeZone.cs
- InstancePersistenceCommandException.cs
- DocumentGridPage.cs
- CommandBindingCollection.cs
- BaseTreeIterator.cs
- ScriptDescriptor.cs
- XmlQueryStaticData.cs
- CommonXSendMessage.cs
- ItemMap.cs
- OperationCanceledException.cs
- _IPv4Address.cs
- EnumerableRowCollection.cs
- ComponentConverter.cs
- AssemblyAttributesGoHere.cs
- HttpHeaderCollection.cs
- BitmapEncoder.cs
- relpropertyhelper.cs
- SQLConvert.cs
- QueryOpeningEnumerator.cs
- SqlDataSourceCommandParser.cs
- ProtocolsConfigurationHandler.cs
- WebWorkflowRole.cs
- ConnectionStringSettings.cs
- CommandBinding.cs
- DBBindings.cs
- SQLInt32Storage.cs
- ServiceModelEnhancedConfigurationElementCollection.cs
- CustomErrorsSection.cs
- OdbcEnvironment.cs
- DataSourceExpression.cs
- WebHostScriptMappingsInstallComponent.cs
- HostSecurityManager.cs
- PlatformNotSupportedException.cs
- VectorAnimation.cs
- InheritedPropertyChangedEventArgs.cs
- RegexTypeEditor.cs
- AttributeCollection.cs
- PropertySegmentSerializationProvider.cs
- HyperLinkDesigner.cs
- WebPartEditorCancelVerb.cs
- ScriptControlDescriptor.cs
- StringUtil.cs
- MemoryMappedViewAccessor.cs
- xmlglyphRunInfo.cs
- WaitForChangedResult.cs
- RolePrincipal.cs