Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CompiledRegexRunnerFactory.cs
- EntityStoreSchemaGenerator.cs
- PersistenceTypeAttribute.cs
- BasicBrowserDialog.designer.cs
- GradientStopCollection.cs
- EntityObject.cs
- GetLastErrorDetailsRequest.cs
- EtwTrace.cs
- CultureTable.cs
- WebPermission.cs
- ConnectionProviderAttribute.cs
- ComIntegrationManifestGenerator.cs
- JsonWriterDelegator.cs
- WebEventTraceProvider.cs
- ProxyFragment.cs
- HMACSHA1.cs
- TrackingProfile.cs
- HtmlWindow.cs
- EFTableProvider.cs
- NavigatorInvalidBodyAccessException.cs
- BinHexDecoder.cs
- XamlBrushSerializer.cs
- XmlIterators.cs
- CaseDesigner.xaml.cs
- DictionarySectionHandler.cs
- Label.cs
- StrokeIntersection.cs
- Brush.cs
- base64Transforms.cs
- GeneralTransform.cs
- DataGridParentRows.cs
- AutoSizeComboBox.cs
- HttpProfileBase.cs
- XmlSchemas.cs
- UserControlParser.cs
- SystemException.cs
- Internal.cs
- WebResourceUtil.cs
- PropertyMapper.cs
- ProcessModelInfo.cs
- NameValueFileSectionHandler.cs
- AvTraceDetails.cs
- ManagementPath.cs
- AssemblyBuilderData.cs
- DictionaryMarkupSerializer.cs
- SqlEnums.cs
- SrgsDocument.cs
- UIElementParagraph.cs
- BinaryMethodMessage.cs
- GlobalEventManager.cs
- StylusPointPropertyUnit.cs
- EmptyEnumerator.cs
- Soap12ServerProtocol.cs
- MenuItemStyle.cs
- SearchExpression.cs
- LayoutEvent.cs
- QilStrConcatenator.cs
- ChangePassword.cs
- SelectionList.cs
- BitmapEffectCollection.cs
- ColorComboBox.cs
- MarkupCompilePass2.cs
- BamlLocalizationDictionary.cs
- StylusDownEventArgs.cs
- GridViewRowCollection.cs
- XmlDataDocument.cs
- PageStatePersister.cs
- PathFigureCollection.cs
- SqlDataSource.cs
- EventLogConfiguration.cs
- BrowserCapabilitiesCodeGenerator.cs
- StreamHelper.cs
- SqlProviderManifest.cs
- BinaryParser.cs
- DataGridBoolColumn.cs
- CalculatedColumn.cs
- ReadingWritingEntityEventArgs.cs
- SafeWaitHandle.cs
- MatrixValueSerializer.cs
- Tool.cs
- MarkupWriter.cs
- FixedPageStructure.cs
- StorageMappingFragment.cs
- InstanceDataCollection.cs
- WpfGeneratedKnownTypes.cs
- EntityDescriptor.cs
- Light.cs
- SqlTypesSchemaImporter.cs
- KeySpline.cs
- SqlParameterCollection.cs
- BlurBitmapEffect.cs
- XmlDownloadManager.cs
- ProtocolInformationWriter.cs
- AnonymousIdentificationSection.cs
- ListenerServiceInstallComponent.cs
- Pkcs9Attribute.cs
- BitmapEncoder.cs
- CharAnimationUsingKeyFrames.cs
- ApplicationDirectoryMembershipCondition.cs
- AttachmentCollection.cs