Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / Configuration / RuleInfoComparer.cs / 2 / RuleInfoComparer.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System; using System.Xml; using System.Configuration; using System.Collections.Specialized; using System.Collections; using System.Globalization; using System.IO; using System.Text; using System.ComponentModel; using System.Web.Hosting; using System.Web.Util; using System.Web.Configuration; using System.Web.Management; using System.Web.Compilation; // // This class is used to compare two RuleInfo object. Basically, the array list // will be sorted based on class hierachical order. The smaller the value, the // more nearer the class is to the root (WebBaseEvent), in a class inheritance sense. // // On the other hand, if x > y, it means x is NOT a parent class of y. // // The array is sorted in this way so that if we want to find out the config setting of // an event class x, we start searching in a decreasing order, and the first entry (E) // that satifies the test: if (x is E), then we find the right settings for x. // // BTW, this is just a trick to save me from writing too much code. A n-node tree // method is faster, but I was too lazy. // internal class RuleInfoComparer : IComparer{ public int Compare(object x, object y) { int res; Type xType = ((HealthMonitoringSectionHelper.RuleInfo)x)._eventMappingSettings.RealType; Type yType = ((HealthMonitoringSectionHelper.RuleInfo)y)._eventMappingSettings.RealType; if (xType.Equals(yType)) { res = 0; } else if (xType.IsSubclassOf(yType)) { res = 1; } else if (yType.IsSubclassOf(xType)) { res = -1; } else { // If they're unrelated, we can't return 0 because it // will confuse the sorting method. // We can return 1 or -1, but it must be consistent. return String.Compare(xType.ToString(), yType.ToString(), StringComparison.Ordinal); } Debug.Trace("RuleInfoComparer", "xType=" + xType.ToString() + "; yType=" + yType.ToString() + "; res=" + res); return res; } } } // 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
- COM2PictureConverter.cs
- ACE.cs
- TransactionInterop.cs
- DiscoveryClientDocuments.cs
- DataControlFieldCollection.cs
- __ComObject.cs
- Rect3DValueSerializer.cs
- PageAdapter.cs
- XslCompiledTransform.cs
- WebPartDisplayModeEventArgs.cs
- EmbossBitmapEffect.cs
- Header.cs
- FormClosingEvent.cs
- DataGridViewEditingControlShowingEventArgs.cs
- ElementAction.cs
- VisualTreeUtils.cs
- UrlPropertyAttribute.cs
- BufferedGraphicsManager.cs
- ListViewItem.cs
- LogicalTreeHelper.cs
- Container.cs
- XmlSubtreeReader.cs
- SignedXml.cs
- ListBoxAutomationPeer.cs
- VersionPair.cs
- ColumnMapVisitor.cs
- ClrProviderManifest.cs
- ReferenceSchema.cs
- MemberRelationshipService.cs
- JoinElimination.cs
- ReaderWriterLockWrapper.cs
- IChannel.cs
- RegexWorker.cs
- RsaSecurityTokenAuthenticator.cs
- SelfSignedCertificate.cs
- LassoHelper.cs
- AppDomainShutdownMonitor.cs
- SpeechEvent.cs
- CodeSubDirectoriesCollection.cs
- LinkedResourceCollection.cs
- ColumnResult.cs
- SRGSCompiler.cs
- OpCodes.cs
- ExclusiveCanonicalizationTransform.cs
- ReturnEventArgs.cs
- UnsafeNativeMethodsPenimc.cs
- Content.cs
- Simplifier.cs
- SqlDataSourceFilteringEventArgs.cs
- CmsInterop.cs
- HashCodeCombiner.cs
- PartialTrustHelpers.cs
- SlotInfo.cs
- MetadataArtifactLoader.cs
- WebColorConverter.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- RectKeyFrameCollection.cs
- SQLRoleProvider.cs
- DropDownList.cs
- TimeSpanMinutesConverter.cs
- AsyncWaitHandle.cs
- SqlCommandBuilder.cs
- KnownTypeHelper.cs
- DesignerVerbCollection.cs
- PointCollectionConverter.cs
- OAVariantLib.cs
- SubtreeProcessor.cs
- DeclarationUpdate.cs
- FontInfo.cs
- CharStorage.cs
- HostingPreferredMapPath.cs
- DbDataReader.cs
- Pkcs7Recipient.cs
- FontStyleConverter.cs
- Iis7Helper.cs
- TrustLevelCollection.cs
- TextTreeUndo.cs
- basecomparevalidator.cs
- WindowsFormsHostAutomationPeer.cs
- __ConsoleStream.cs
- QilDataSource.cs
- HashCryptoHandle.cs
- Cursor.cs
- DetectRunnableInstancesTask.cs
- AdapterUtil.cs
- WindowsNonControl.cs
- ChannelServices.cs
- LinkDescriptor.cs
- WindowsPrincipal.cs
- StylusButton.cs
- HostingEnvironmentException.cs
- InvokePattern.cs
- TextParagraph.cs
- VirtualPath.cs
- SqlPersistenceProviderFactory.cs
- GenericsInstances.cs
- EncoderExceptionFallback.cs
- SafeWaitHandle.cs
- Hashtable.cs
- DefaultValueTypeConverter.cs