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
- IntAverageAggregationOperator.cs
- MissingMethodException.cs
- LineSegment.cs
- DbProviderFactory.cs
- FileAuthorizationModule.cs
- DispatcherEventArgs.cs
- httpserverutility.cs
- StatusInfoItem.cs
- ToolBarTray.cs
- UserCancellationException.cs
- TriggerAction.cs
- SpeechRecognizer.cs
- RectangleGeometry.cs
- ApplicationServicesHostFactory.cs
- OrderedHashRepartitionStream.cs
- CookieProtection.cs
- CustomMenuItemCollection.cs
- FactoryMaker.cs
- SerializationInfo.cs
- SystemTcpConnection.cs
- CustomAttributeFormatException.cs
- Accessible.cs
- FixedSchema.cs
- BufferedStream.cs
- IntSecurity.cs
- ResourceExpression.cs
- ImageFormat.cs
- DynamicValidatorEventArgs.cs
- FileChangesMonitor.cs
- Double.cs
- PageStatePersister.cs
- ProfessionalColorTable.cs
- Matrix3DStack.cs
- CompletedAsyncResult.cs
- RequestBringIntoViewEventArgs.cs
- DataGridViewImageCell.cs
- ProfilePropertyMetadata.cs
- XPathPatternParser.cs
- GenerateScriptTypeAttribute.cs
- UIElementParagraph.cs
- RegexCode.cs
- DeclarativeExpressionConditionDeclaration.cs
- PopupRoot.cs
- RectAnimation.cs
- SequentialOutput.cs
- cookie.cs
- WinFormsUtils.cs
- SafeLocalMemHandle.cs
- TCPClient.cs
- ConfigurationStrings.cs
- ResourceWriter.cs
- NoneExcludedImageIndexConverter.cs
- DocobjHost.cs
- AdRotator.cs
- QueryLifecycle.cs
- InstalledFontCollection.cs
- DecoderFallbackWithFailureFlag.cs
- ProfileModule.cs
- BufferModeSettings.cs
- CompoundFileStreamReference.cs
- TraceFilter.cs
- ButtonBase.cs
- FlowDocumentReader.cs
- WindowsStartMenu.cs
- ClientRolePrincipal.cs
- OpenFileDialog.cs
- MetadataExchangeBindings.cs
- AttributeAction.cs
- BoundField.cs
- TimeoutValidationAttribute.cs
- RelationshipDetailsCollection.cs
- BindingObserver.cs
- HtmlTableCellCollection.cs
- translator.cs
- VScrollBar.cs
- TextServicesCompartmentContext.cs
- TextTreeUndoUnit.cs
- StringConcat.cs
- ObjectListGeneralPage.cs
- XmlLangPropertyAttribute.cs
- StaticExtension.cs
- WsdlHelpGeneratorElement.cs
- CompositeTypefaceMetrics.cs
- SiteMembershipCondition.cs
- OutputCacheModule.cs
- DrawingAttributes.cs
- HtmlLiteralTextAdapter.cs
- BrowserCapabilitiesFactory35.cs
- DataColumnChangeEvent.cs
- MenuEventArgs.cs
- Int32Converter.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- DataBindingExpressionBuilder.cs
- OutputCacheSection.cs
- AdRotatorDesigner.cs
- LostFocusEventManager.cs
- ScrollChrome.cs
- TabRenderer.cs
- ETagAttribute.cs
- InvokeGenerator.cs