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
- OpenFileDialog.cs
- SerializationInfoEnumerator.cs
- EDesignUtil.cs
- HealthMonitoringSection.cs
- LogicalExpr.cs
- SerialStream.cs
- PointConverter.cs
- String.cs
- TryCatchDesigner.xaml.cs
- ViewManager.cs
- ScrollBar.cs
- AutomationAttributeInfo.cs
- AxImporter.cs
- XmlDocumentSchema.cs
- BindableAttribute.cs
- RuleInfoComparer.cs
- OdbcParameterCollection.cs
- SchemaTypeEmitter.cs
- DispatchOperation.cs
- MembershipPasswordException.cs
- ByteFacetDescriptionElement.cs
- NamedPipeDuplicateContext.cs
- CookielessHelper.cs
- SafeCloseHandleCritical.cs
- RuleConditionDialog.Designer.cs
- ExclusiveHandle.cs
- mediaclock.cs
- UrlMappingsSection.cs
- XmlIlGenerator.cs
- TextPenaltyModule.cs
- basevalidator.cs
- MessageSecurityOverMsmq.cs
- MapPathBasedVirtualPathProvider.cs
- VScrollProperties.cs
- ClientSettingsSection.cs
- ReaderContextStackData.cs
- TreeNode.cs
- ImageDrawing.cs
- tibetanshape.cs
- ResourcePart.cs
- ValueTypePropertyReference.cs
- AccessDataSourceView.cs
- TablePatternIdentifiers.cs
- EnvironmentPermission.cs
- MergeEnumerator.cs
- TemplateBindingExpression.cs
- PeerService.cs
- RichTextBox.cs
- WindowsStatusBar.cs
- UnescapedXmlDiagnosticData.cs
- TextParagraphCache.cs
- ProxyHelper.cs
- EDesignUtil.cs
- DataObjectEventArgs.cs
- XmlSchemaType.cs
- FtpWebResponse.cs
- MethodExpression.cs
- Int32.cs
- ParallelDesigner.xaml.cs
- Int32Storage.cs
- DataGridViewRowPostPaintEventArgs.cs
- SubstitutionDesigner.cs
- ExplicitDiscriminatorMap.cs
- Random.cs
- BooleanAnimationUsingKeyFrames.cs
- CodeTypeMemberCollection.cs
- ScriptResourceAttribute.cs
- BaseResourcesBuildProvider.cs
- BaseDataBoundControl.cs
- CachedBitmap.cs
- MessageContractAttribute.cs
- RenderingEventArgs.cs
- StylusPointProperty.cs
- CacheModeConverter.cs
- Scripts.cs
- CustomAttributeFormatException.cs
- CounterSet.cs
- XamlBrushSerializer.cs
- _NetworkingPerfCounters.cs
- SemaphoreSecurity.cs
- FixedElement.cs
- Error.cs
- BaseValidator.cs
- StylusPlugin.cs
- BitmapEffectCollection.cs
- AsymmetricKeyExchangeFormatter.cs
- ProxyHelper.cs
- HtmlLabelAdapter.cs
- FastEncoderStatics.cs
- QuadraticBezierSegment.cs
- RawStylusInputCustomData.cs
- PolygonHotSpot.cs
- TypeName.cs
- cryptoapiTransform.cs
- KeyNotFoundException.cs
- WindowsGraphics.cs
- ScrollEvent.cs
- HwndHostAutomationPeer.cs
- DoubleLinkListEnumerator.cs
- DebuggerAttributes.cs