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
- Activity.cs
- xamlnodes.cs
- BrowserTree.cs
- GeometryCombineModeValidation.cs
- XmlILTrace.cs
- HitTestResult.cs
- HtmlTableRow.cs
- serverconfig.cs
- ConfigurationManagerInternalFactory.cs
- InheritanceAttribute.cs
- WebBrowserDocumentCompletedEventHandler.cs
- RequestNavigateEventArgs.cs
- TreeViewHitTestInfo.cs
- EdmToObjectNamespaceMap.cs
- ListControl.cs
- UnmanagedMemoryStream.cs
- ExpressionCopier.cs
- CallContext.cs
- RoleGroup.cs
- ListViewUpdateEventArgs.cs
- InlineUIContainer.cs
- DbCommandTree.cs
- MdiWindowListItemConverter.cs
- MailMessage.cs
- AdRotator.cs
- DoubleKeyFrameCollection.cs
- RecognizedPhrase.cs
- SrgsGrammar.cs
- CodeDOMProvider.cs
- DoubleAnimationUsingPath.cs
- RawAppCommandInputReport.cs
- InvokeMethod.cs
- Util.cs
- AttributeQuery.cs
- Sql8ConformanceChecker.cs
- TypeValidationEventArgs.cs
- MappingException.cs
- SystemResourceHost.cs
- FusionWrap.cs
- MultilineStringConverter.cs
- OleDbConnectionInternal.cs
- UpdatePanelTrigger.cs
- SignatureConfirmations.cs
- XAMLParseException.cs
- RangeExpression.cs
- Parser.cs
- RestHandler.cs
- Size.cs
- DetailsViewUpdateEventArgs.cs
- DefaultMemberAttribute.cs
- FrameworkTextComposition.cs
- TypeConverterAttribute.cs
- RecordsAffectedEventArgs.cs
- _ProxyRegBlob.cs
- StorageComplexTypeMapping.cs
- XmlDataLoader.cs
- XmlUtilWriter.cs
- PathNode.cs
- WebBrowserEvent.cs
- TypeBinaryExpression.cs
- Enlistment.cs
- SiteMapProvider.cs
- SrgsGrammarCompiler.cs
- FontSource.cs
- ArgumentNullException.cs
- LayoutSettings.cs
- SurrogateChar.cs
- FontUnit.cs
- WebHttpBindingCollectionElement.cs
- Win32.cs
- SettingsProperty.cs
- TemplateContent.cs
- ModuleBuilder.cs
- sitestring.cs
- FileUpload.cs
- StyleCollection.cs
- SerializationInfoEnumerator.cs
- Command.cs
- EntityContainerEmitter.cs
- SymmetricSecurityProtocolFactory.cs
- SymbolDocumentInfo.cs
- XmlMembersMapping.cs
- MemberPathMap.cs
- BodyWriter.cs
- FunctionQuery.cs
- ColorMatrix.cs
- DispatchChannelSink.cs
- ToolStripSystemRenderer.cs
- SSmlParser.cs
- WriterOutput.cs
- Expression.cs
- InfocardChannelParameter.cs
- AstTree.cs
- Speller.cs
- ListParaClient.cs
- ExcCanonicalXml.cs
- DataPager.cs
- XmlCharCheckingWriter.cs
- MetabaseServerConfig.cs
- SingleSelectRootGridEntry.cs