Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / MS / Internal / Data / XmlNodeComparer.cs / 1305600 / XmlNodeComparer.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: Defines XmlNodeComparer object, used to sort a view of data produced by an XmlDataSource. // // Specs: http://avalon/connecteddata/M5%20Specs/UIBinding.mht // //--------------------------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Globalization; using System.Xml; using MS.Internal.Data; namespace MS.Internal.Data { ////// The XmlNodeComparer is used to sort a view of data produced by an XmlDataSource. /// internal class XmlNodeComparer : IComparer { ////// Constructor. /// /// array of sort parameters /// namespace manager, to control queries /// culture to use for comparisons internal XmlNodeComparer(SortDescriptionCollection sortParameters, XmlNamespaceManager namespaceManager, CultureInfo culture) { _sortParameters = sortParameters; _namespaceManager = namespaceManager; _culture = (culture == null) ? CultureInfo.InvariantCulture : culture; } int IComparer.Compare(object o1, object o2) { int result = 0; XmlNode node1 = o1 as XmlNode; XmlNode node2 = o2 as XmlNode; if (node1 == null) return -1; if (node2 == null) return +1; for (int k = 0; k < _sortParameters.Count; ++k) { string valueX = AssemblyHelper.SelectStringValue(node1, _sortParameters[k].PropertyName, _namespaceManager); string valueY = AssemblyHelper.SelectStringValue(node2, _sortParameters[k].PropertyName, _namespaceManager); result = String.Compare(valueX, valueY, false, _culture); if (_sortParameters[k].Direction == ListSortDirection.Descending) result = -result; if (result != 0) break; } return result; } private SortDescriptionCollection _sortParameters; private XmlNamespaceManager _namespaceManager; CultureInfo _culture; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: Defines XmlNodeComparer object, used to sort a view of data produced by an XmlDataSource. // // Specs: http://avalon/connecteddata/M5%20Specs/UIBinding.mht // //--------------------------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Globalization; using System.Xml; using MS.Internal.Data; namespace MS.Internal.Data { ////// The XmlNodeComparer is used to sort a view of data produced by an XmlDataSource. /// internal class XmlNodeComparer : IComparer { ////// Constructor. /// /// array of sort parameters /// namespace manager, to control queries /// culture to use for comparisons internal XmlNodeComparer(SortDescriptionCollection sortParameters, XmlNamespaceManager namespaceManager, CultureInfo culture) { _sortParameters = sortParameters; _namespaceManager = namespaceManager; _culture = (culture == null) ? CultureInfo.InvariantCulture : culture; } int IComparer.Compare(object o1, object o2) { int result = 0; XmlNode node1 = o1 as XmlNode; XmlNode node2 = o2 as XmlNode; if (node1 == null) return -1; if (node2 == null) return +1; for (int k = 0; k < _sortParameters.Count; ++k) { string valueX = AssemblyHelper.SelectStringValue(node1, _sortParameters[k].PropertyName, _namespaceManager); string valueY = AssemblyHelper.SelectStringValue(node2, _sortParameters[k].PropertyName, _namespaceManager); result = String.Compare(valueX, valueY, false, _culture); if (_sortParameters[k].Direction == ListSortDirection.Descending) result = -result; if (result != 0) break; } return result; } private SortDescriptionCollection _sortParameters; private XmlNamespaceManager _namespaceManager; CultureInfo _culture; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FileChangesMonitor.cs
- TextEndOfParagraph.cs
- XamlTemplateSerializer.cs
- QueryCacheEntry.cs
- ServiceObjectContainer.cs
- TimelineGroup.cs
- DataServiceCollectionOfT.cs
- DecimalConstantAttribute.cs
- MouseEventArgs.cs
- Brush.cs
- PowerStatus.cs
- GridViewSortEventArgs.cs
- AddInServer.cs
- StorageInfo.cs
- Track.cs
- _IPv4Address.cs
- WebEventCodes.cs
- PageTheme.cs
- TypeDelegator.cs
- DataGridViewCellStyleConverter.cs
- BaseProcessProtocolHandler.cs
- AnnotationHelper.cs
- MouseGestureConverter.cs
- Atom10FormatterFactory.cs
- HttpConfigurationSystem.cs
- Misc.cs
- LateBoundBitmapDecoder.cs
- ImageDrawing.cs
- DBCommandBuilder.cs
- PositiveTimeSpanValidator.cs
- cookieexception.cs
- MessageContractAttribute.cs
- ComboBox.cs
- TCPClient.cs
- CommonGetThemePartSize.cs
- WaitHandle.cs
- Common.cs
- securitycriticaldataformultiplegetandset.cs
- DataGridColumn.cs
- StylusPlugInCollection.cs
- WindowVisualStateTracker.cs
- ColumnCollection.cs
- SettingsProviderCollection.cs
- AnnotationResourceCollection.cs
- XslException.cs
- StylusPlugInCollection.cs
- XPathNodeIterator.cs
- PriorityBinding.cs
- CqlLexer.cs
- OdbcParameter.cs
- EmulateRecognizeCompletedEventArgs.cs
- ConfigurationPermission.cs
- TextServicesDisplayAttribute.cs
- AssemblyFilter.cs
- PeerApplicationLaunchInfo.cs
- OdbcConnection.cs
- XmlSerializableWriter.cs
- KerberosSecurityTokenAuthenticator.cs
- ClientFormsAuthenticationCredentials.cs
- EnumMember.cs
- brushes.cs
- Table.cs
- SoapClientMessage.cs
- XNodeValidator.cs
- Blend.cs
- CompilerParameters.cs
- SRGSCompiler.cs
- Composition.cs
- SplitterEvent.cs
- DrawListViewItemEventArgs.cs
- CompilerTypeWithParams.cs
- LowerCaseStringConverter.cs
- ImageCodecInfo.cs
- ValidatorCompatibilityHelper.cs
- CompositeActivityCodeGenerator.cs
- HighlightComponent.cs
- MultilineStringConverter.cs
- XmlCharacterData.cs
- FatalException.cs
- ISessionStateStore.cs
- UriScheme.cs
- DbModificationClause.cs
- Int32Converter.cs
- BitmapScalingModeValidation.cs
- DetailsViewPageEventArgs.cs
- ConfigurationValue.cs
- UidManager.cs
- UserControlAutomationPeer.cs
- DefaultEventAttribute.cs
- ControlType.cs
- KoreanLunisolarCalendar.cs
- BinaryObjectWriter.cs
- Psha1DerivedKeyGenerator.cs
- SettingsBindableAttribute.cs
- TableSectionStyle.cs
- DataGridRowEventArgs.cs
- HostingEnvironmentException.cs
- AspNetCacheProfileAttribute.cs
- BehaviorDragDropEventArgs.cs
- GlyphRunDrawing.cs