Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / System / Linq / Parallel / Utils / WrapperEqualityComparer.cs / 1305376 / WrapperEqualityComparer.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ // // WrapperEqualityComparer.cs // //[....] // // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- using System.Collections.Generic; using System.Diagnostics.Contracts; namespace System.Linq.Parallel { ////// Compares two wrapped structs of the same underlying type for equality. Simply /// wraps the actual comparer for the type being wrapped. /// ///internal struct WrapperEqualityComparer : IEqualityComparer > { private IEqualityComparer m_comparer; internal WrapperEqualityComparer(IEqualityComparer comparer) { if (comparer == null) { m_comparer = EqualityComparer .Default; } else { m_comparer = comparer; } } public bool Equals(Wrapper x, Wrapper y) { Contract.Assert(m_comparer != null); return m_comparer.Equals(x.Value, y.Value); } public int GetHashCode(Wrapper x) { Contract.Assert(m_comparer != null); return m_comparer.GetHashCode(x.Value); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ // // WrapperEqualityComparer.cs // // [....] // // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- using System.Collections.Generic; using System.Diagnostics.Contracts; namespace System.Linq.Parallel { ////// Compares two wrapped structs of the same underlying type for equality. Simply /// wraps the actual comparer for the type being wrapped. /// ///internal struct WrapperEqualityComparer : IEqualityComparer > { private IEqualityComparer m_comparer; internal WrapperEqualityComparer(IEqualityComparer comparer) { if (comparer == null) { m_comparer = EqualityComparer .Default; } else { m_comparer = comparer; } } public bool Equals(Wrapper x, Wrapper y) { Contract.Assert(m_comparer != null); return m_comparer.Equals(x.Value, y.Value); } public int GetHashCode(Wrapper x) { Contract.Assert(m_comparer != null); return m_comparer.GetHashCode(x.Value); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- NonBatchDirectoryCompiler.cs
- NativeBuffer.cs
- NumberSubstitution.cs
- Stopwatch.cs
- StylusPointPropertyInfo.cs
- ISCIIEncoding.cs
- PathParser.cs
- DataGridViewSelectedRowCollection.cs
- RequestCache.cs
- RenderDataDrawingContext.cs
- FrameworkContentElementAutomationPeer.cs
- StyleCollection.cs
- CodeTypeParameterCollection.cs
- SequenceRangeCollection.cs
- MULTI_QI.cs
- cryptoapiTransform.cs
- ImageIndexConverter.cs
- DLinqColumnProvider.cs
- Process.cs
- XmlEncoding.cs
- webproxy.cs
- GlyphShapingProperties.cs
- XmlNamespaceMappingCollection.cs
- SqlMethods.cs
- DesigntimeLicenseContextSerializer.cs
- WindowsToolbarAsMenu.cs
- ByteFacetDescriptionElement.cs
- DateTimeFormatInfo.cs
- FormsAuthenticationTicket.cs
- DependencyObjectProvider.cs
- NotifyIcon.cs
- Dynamic.cs
- AsyncCompletedEventArgs.cs
- LogArchiveSnapshot.cs
- TrustSection.cs
- PageCodeDomTreeGenerator.cs
- SliderAutomationPeer.cs
- ProviderException.cs
- EntityContainerRelationshipSet.cs
- DrawingImage.cs
- ViewKeyConstraint.cs
- PolicyChain.cs
- TreeNodeCollection.cs
- DataException.cs
- RegexInterpreter.cs
- HwndSource.cs
- MappingException.cs
- BuildProvider.cs
- ObjectToken.cs
- HttpModuleActionCollection.cs
- FunctionQuery.cs
- XmlCharacterData.cs
- UnSafeCharBuffer.cs
- CipherData.cs
- LineBreakRecord.cs
- DataSysAttribute.cs
- DesignerActionTextItem.cs
- NumericPagerField.cs
- StringDictionary.cs
- HtmlToClrEventProxy.cs
- DataGridViewTopLeftHeaderCell.cs
- PreloadedPackages.cs
- DataListCommandEventArgs.cs
- ISAPIApplicationHost.cs
- FindSimilarActivitiesVerb.cs
- DoubleLinkListEnumerator.cs
- URLString.cs
- Decorator.cs
- AdCreatedEventArgs.cs
- Frame.cs
- TextAnchor.cs
- BitmapEffectCollection.cs
- SetState.cs
- AutomationAttributeInfo.cs
- SafeBitVector32.cs
- NameValueCollection.cs
- CalendarBlackoutDatesCollection.cs
- XmlLangPropertyAttribute.cs
- ApplicationSecurityInfo.cs
- XmlReturnWriter.cs
- ParameterCollection.cs
- ServiceControllerDesigner.cs
- ExplicitDiscriminatorMap.cs
- StdValidatorsAndConverters.cs
- XmlChildEnumerator.cs
- DockPanel.cs
- ConfigurationSection.cs
- WinInet.cs
- XmlSerializerFactory.cs
- StrongNameIdentityPermission.cs
- MsdtcWrapper.cs
- ButtonPopupAdapter.cs
- ToolStripDropDownClosedEventArgs.cs
- DocumentReferenceCollection.cs
- ImageBrush.cs
- TreeNodeBinding.cs
- DesignerForm.cs
- ClientRuntimeConfig.cs
- StorageTypeMapping.cs
- WebPartDescriptionCollection.cs