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
- Matrix.cs
- FileDialog_Vista.cs
- ListViewContainer.cs
- BrushConverter.cs
- GridLength.cs
- Image.cs
- OperationContractAttribute.cs
- DockPanel.cs
- EventPrivateKey.cs
- WaitForChangedResult.cs
- RemotingException.cs
- LocalBuilder.cs
- ReflectionUtil.cs
- InlineCollection.cs
- BehaviorEditorPart.cs
- DefaultExpression.cs
- UrlAuthorizationModule.cs
- SignatureHelper.cs
- Column.cs
- CaseStatementSlot.cs
- HuffCodec.cs
- ApplicationBuildProvider.cs
- MenuItem.cs
- AttributeXamlType.cs
- TextRangeBase.cs
- WindowsFormsDesignerOptionService.cs
- QilChoice.cs
- DesignerSelectionListAdapter.cs
- HeaderUtility.cs
- RegisteredExpandoAttribute.cs
- AttachedAnnotationChangedEventArgs.cs
- Parameter.cs
- Table.cs
- ErrorRuntimeConfig.cs
- ListCollectionView.cs
- LeaseManager.cs
- DropShadowBitmapEffect.cs
- Bitmap.cs
- MessageDescriptionCollection.cs
- OdbcCommand.cs
- DataColumn.cs
- WindowsSolidBrush.cs
- NativeMethods.cs
- DecoderBestFitFallback.cs
- ChangeTracker.cs
- WebPartConnection.cs
- DrawListViewSubItemEventArgs.cs
- TextDecoration.cs
- FloaterBaseParaClient.cs
- _AcceptOverlappedAsyncResult.cs
- XmlDigitalSignatureProcessor.cs
- LinkAreaEditor.cs
- Trace.cs
- BuildManager.cs
- DynamicRendererThreadManager.cs
- DataPagerCommandEventArgs.cs
- WinEventHandler.cs
- WeakHashtable.cs
- DateTimePicker.cs
- dbdatarecord.cs
- EncodingTable.cs
- TableAutomationPeer.cs
- DirtyTextRange.cs
- SqlVersion.cs
- DesignerSerializationVisibilityAttribute.cs
- ToolBarButton.cs
- NumberSubstitution.cs
- Array.cs
- SyndicationElementExtension.cs
- QueryIntervalOp.cs
- DataGridColumnCollectionEditor.cs
- Byte.cs
- WebPartTransformerAttribute.cs
- SQLDouble.cs
- XmlDictionary.cs
- entitydatasourceentitysetnameconverter.cs
- WCFServiceClientProxyGenerator.cs
- EntityDataSourceContextDisposingEventArgs.cs
- FormsAuthenticationTicket.cs
- DigitalSignatureProvider.cs
- WebPartCloseVerb.cs
- EmulateRecognizeCompletedEventArgs.cs
- MultiBindingExpression.cs
- ColorContext.cs
- GridViewColumnHeader.cs
- SymbolEqualComparer.cs
- LoginUtil.cs
- MetadataException.cs
- GeometryValueSerializer.cs
- Frame.cs
- TextEditorLists.cs
- XAMLParseException.cs
- NumericUpDownAccelerationCollection.cs
- TcpClientSocketManager.cs
- NetNamedPipeBindingElement.cs
- StatusBar.cs
- JoinTreeNode.cs
- While.cs
- SoapReflectionImporter.cs
- DataKey.cs