Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Shared / MS / Internal / Pair.cs / 1305600 / Pair.cs
//---------------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // // Description: Pair class is useful when one needs to treat a pair of objects as a singly key in a collection. // // // History: // 08/04/2005 : mleonov - Created // //--------------------------------------------------------------------------- using System; using System.Diagnostics; namespace MS.Internal { ////// Pair class is useful when one needs to treat a pair of objects as a singly key in a collection. /// Apart from providing storage and accessors, the class forwards GetHashCode and Equals to the contained objects. /// Both object are allowed to be null. /// internal class Pair { public Pair(object first, object second) { _first = first; _second = second; } public object First { get { return _first; } } public object Second { get { return _second; } } public override int GetHashCode() { return (_first == null ? 0 : _first.GetHashCode()) ^ (_second == null ? 0 : _second.GetHashCode()); } public override bool Equals(object o) { Pair other = o as Pair; return other != null && (_first != null ? _first.Equals(other._first) : other._first == null) && (_second != null ? _second.Equals(other._second) : other._second == null); } private object _first; private object _second; } } // 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
- DeclarationUpdate.cs
- TextEditor.cs
- ArglessEventHandlerProxy.cs
- Control.cs
- SoundPlayer.cs
- DbProviderManifest.cs
- SegmentInfo.cs
- RMEnrollmentPage2.cs
- XmlUrlEditor.cs
- PeerNameRegistration.cs
- EnumBuilder.cs
- XmlDataSourceNodeDescriptor.cs
- PriorityQueue.cs
- PrimitiveDataContract.cs
- TdsParser.cs
- DataServiceHost.cs
- Win32NamedPipes.cs
- BindingContext.cs
- XamlSerializer.cs
- ThicknessKeyFrameCollection.cs
- CodeDOMUtility.cs
- Part.cs
- HttpPostedFile.cs
- UnaryExpression.cs
- NullableDoubleMinMaxAggregationOperator.cs
- isolationinterop.cs
- ManagedFilter.cs
- CompatibleIComparer.cs
- RegisteredHiddenField.cs
- ScriptBehaviorDescriptor.cs
- DirectoryObjectSecurity.cs
- RadioButton.cs
- WindowsUpDown.cs
- EnumValAlphaComparer.cs
- RegionData.cs
- CachedPathData.cs
- PresentationAppDomainManager.cs
- ToolboxItem.cs
- messageonlyhwndwrapper.cs
- mediaeventshelper.cs
- NetMsmqBindingCollectionElement.cs
- DateTimeParse.cs
- CoTaskMemUnicodeSafeHandle.cs
- QilNode.cs
- _ListenerRequestStream.cs
- TPLETWProvider.cs
- InfoCardTrace.cs
- RSAOAEPKeyExchangeDeformatter.cs
- OleDbRowUpdatingEvent.cs
- PropertyToken.cs
- CellConstantDomain.cs
- ScrollChrome.cs
- EntityParameterCollection.cs
- CornerRadius.cs
- SapiRecognizer.cs
- DbProviderFactory.cs
- ConfigurationErrorsException.cs
- ListQueryResults.cs
- RequestUriProcessor.cs
- BmpBitmapEncoder.cs
- OracleSqlParser.cs
- RelationshipNavigation.cs
- COAUTHIDENTITY.cs
- WasNotInstalledException.cs
- SourceLineInfo.cs
- ExceptionAggregator.cs
- RenderOptions.cs
- DBConcurrencyException.cs
- ObjectDataSourceEventArgs.cs
- HashRepartitionEnumerator.cs
- DataGridCheckBoxColumn.cs
- OleTxTransaction.cs
- Viewport3DVisual.cs
- FrameworkElement.cs
- HitTestFilterBehavior.cs
- DebugController.cs
- BuildDependencySet.cs
- RpcAsyncResult.cs
- SpecularMaterial.cs
- TracingConnectionInitiator.cs
- ConnectionManager.cs
- UInt16.cs
- ActivityWithResult.cs
- DataSourceView.cs
- ExceptionHelpers.cs
- SimpleLine.cs
- KnownTypes.cs
- XslUrlEditor.cs
- OverlappedAsyncResult.cs
- Rotation3D.cs
- IpcClientManager.cs
- StateRuntime.cs
- JpegBitmapEncoder.cs
- ListViewCancelEventArgs.cs
- Point.cs
- FlowDocument.cs
- ZoneLinkButton.cs
- EventHandlers.cs
- WebPartCloseVerb.cs
- ObjectQuery_EntitySqlExtensions.cs