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
- DateTimeConstantAttribute.cs
- IisNotInstalledException.cs
- ParserHooks.cs
- GZipStream.cs
- AppSettingsSection.cs
- DesignConnection.cs
- StringWriter.cs
- ListViewTableRow.cs
- RowToParametersTransformer.cs
- XmlSchemaSimpleTypeList.cs
- RegistrationServices.cs
- AgileSafeNativeMemoryHandle.cs
- TemplateComponentConnector.cs
- ControlLocalizer.cs
- StringReader.cs
- HttpCapabilitiesSectionHandler.cs
- ByteAnimationBase.cs
- AsyncPostBackErrorEventArgs.cs
- MaxSessionCountExceededException.cs
- String.cs
- filewebrequest.cs
- NonClientArea.cs
- MessageSecurityOverTcpElement.cs
- ListViewHitTestInfo.cs
- ComboBoxRenderer.cs
- EditorPartCollection.cs
- PeerToPeerException.cs
- Utils.cs
- HostingEnvironmentException.cs
- EmptyStringExpandableObjectConverter.cs
- LinqDataSourceStatusEventArgs.cs
- HtmlFormWrapper.cs
- RegexInterpreter.cs
- ConfigurationElement.cs
- SmiEventStream.cs
- DataGridHyperlinkColumn.cs
- DataGridViewAutoSizeModeEventArgs.cs
- ColumnPropertiesGroup.cs
- SchemaNotation.cs
- SmtpCommands.cs
- OverflowException.cs
- CustomError.cs
- Transactions.cs
- DoubleAnimationUsingKeyFrames.cs
- WebBrowserProgressChangedEventHandler.cs
- RightsManagementPermission.cs
- DesignTimeDataBinding.cs
- Int32Animation.cs
- DeclarativeCatalogPart.cs
- SimpleType.cs
- ImplicitInputBrush.cs
- StronglyTypedResourceBuilder.cs
- ProxyHwnd.cs
- RawAppCommandInputReport.cs
- DataGridViewRowStateChangedEventArgs.cs
- ProgressPage.cs
- PeerConnector.cs
- CodePageEncoding.cs
- WebPartTransformerAttribute.cs
- WhiteSpaceTrimStringConverter.cs
- IPHostEntry.cs
- RuleSettingsCollection.cs
- XamlPoint3DCollectionSerializer.cs
- EventSourceCreationData.cs
- RegexReplacement.cs
- WebHttpSecurity.cs
- ValidatorAttribute.cs
- HtmlInputButton.cs
- ProfileManager.cs
- MSAAWinEventWrap.cs
- Stacktrace.cs
- ColumnHeaderCollectionEditor.cs
- LinqDataSourceEditData.cs
- XmlWriterDelegator.cs
- HtmlInputImage.cs
- ContentDesigner.cs
- TextLine.cs
- OleServicesContext.cs
- COM2DataTypeToManagedDataTypeConverter.cs
- Timeline.cs
- EntityRecordInfo.cs
- HostingEnvironment.cs
- UserControl.cs
- WorkflowQueueInfo.cs
- SqlInternalConnection.cs
- IdentifierCreationService.cs
- IQueryable.cs
- DataControlHelper.cs
- XmlSchemaSet.cs
- InputMethodStateChangeEventArgs.cs
- DropShadowEffect.cs
- HScrollBar.cs
- BindUriHelper.cs
- _TLSstream.cs
- Parser.cs
- XmlDataSourceView.cs
- DataBindingHandlerAttribute.cs
- PipelineDeploymentState.cs
- ProxyHwnd.cs
- XamlSerializerUtil.cs