Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DataWeb / Client / System / Data / Services / Client / LinkDescriptor.cs / 1 / LinkDescriptor.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// represents the association between two entities // //--------------------------------------------------------------------- namespace System.Data.Services.Client { using System.Diagnostics; ////// represents the association between two entities /// public sealed class LinkDescriptor : Descriptor { ///equivalence comparer internal static readonly System.Collections.Generic.IEqualityComparerEquivalentComparer = new Equivalent(); /// source entity private readonly object source; ///name of property on source entity that references the target entity private readonly string sourceProperty; ///target entity private readonly object target; ////// constructor /// /// source entity /// name of property on source entity that references the target entity /// target entity /// link state internal LinkDescriptor(object source, string sourceProperty, object target, EntityStates state) : base(state) { this.source = source; this.sourceProperty = sourceProperty; this.target = target; Debug.Assert(null != source, "null != source"); Debug.Assert(!string.IsNullOrEmpty(sourceProperty), "null != sourceProperty"); Debug.Assert(null != target || (EntityStates.Unchanged == state) || (EntityStates.Modified == state) || (EntityStates.Detached == state), "null != target"); Debug.Assert( EntityStates.Added == state || EntityStates.Modified == state || EntityStates.Deleted == state || EntityStates.Unchanged == state || EntityStates.Detached == state, "state"); } ///target entity public object Target { get { return this.target; } } ///source entity public object Source { get { return this.source; } } ///name of property on source entity that references the target entity public string SourceProperty { get { return this.sourceProperty; } } ///equivalence comparer private sealed class Equivalent : System.Collections.Generic.IEqualityComparer{ /// are two LinkDescriptors equivalent, ignore state /// link descriptor x /// link descriptor y ///true if equivalent public bool Equals(LinkDescriptor x, LinkDescriptor y) { return (x.Source == y.Source) && (x.Target == y.Target) && (x.SourceProperty == y.SourceProperty); } ///compute hashcode for LinkDescriptor /// link descriptor ///hashcode public int GetHashCode(LinkDescriptor obj) { return obj.Source.GetHashCode() ^ ((null != obj.Target) ? obj.Target.GetHashCode() : 0) ^ obj.SourceProperty.GetHashCode(); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// represents the association between two entities // //--------------------------------------------------------------------- namespace System.Data.Services.Client { using System.Diagnostics; ////// represents the association between two entities /// public sealed class LinkDescriptor : Descriptor { ///equivalence comparer internal static readonly System.Collections.Generic.IEqualityComparerEquivalentComparer = new Equivalent(); /// source entity private readonly object source; ///name of property on source entity that references the target entity private readonly string sourceProperty; ///target entity private readonly object target; ////// constructor /// /// source entity /// name of property on source entity that references the target entity /// target entity /// link state internal LinkDescriptor(object source, string sourceProperty, object target, EntityStates state) : base(state) { this.source = source; this.sourceProperty = sourceProperty; this.target = target; Debug.Assert(null != source, "null != source"); Debug.Assert(!string.IsNullOrEmpty(sourceProperty), "null != sourceProperty"); Debug.Assert(null != target || (EntityStates.Unchanged == state) || (EntityStates.Modified == state) || (EntityStates.Detached == state), "null != target"); Debug.Assert( EntityStates.Added == state || EntityStates.Modified == state || EntityStates.Deleted == state || EntityStates.Unchanged == state || EntityStates.Detached == state, "state"); } ///target entity public object Target { get { return this.target; } } ///source entity public object Source { get { return this.source; } } ///name of property on source entity that references the target entity public string SourceProperty { get { return this.sourceProperty; } } ///equivalence comparer private sealed class Equivalent : System.Collections.Generic.IEqualityComparer{ /// are two LinkDescriptors equivalent, ignore state /// link descriptor x /// link descriptor y ///true if equivalent public bool Equals(LinkDescriptor x, LinkDescriptor y) { return (x.Source == y.Source) && (x.Target == y.Target) && (x.SourceProperty == y.SourceProperty); } ///compute hashcode for LinkDescriptor /// link descriptor ///hashcode public int GetHashCode(LinkDescriptor obj) { return obj.Source.GetHashCode() ^ ((null != obj.Target) ? obj.Target.GetHashCode() : 0) ^ obj.SourceProperty.GetHashCode(); } } } } // 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
- System.Data.OracleClient_BID.cs
- UpDownEvent.cs
- CircleHotSpot.cs
- StrongNameKeyPair.cs
- ToolStripHighContrastRenderer.cs
- CodeIterationStatement.cs
- DataGridViewLinkColumn.cs
- EncryptedType.cs
- X509Extension.cs
- Rotation3DAnimationBase.cs
- NetworkInformationException.cs
- SecurityTokenValidationException.cs
- EntityDataSourceSelectedEventArgs.cs
- DocumentSequenceHighlightLayer.cs
- WindowsFormsSynchronizationContext.cs
- ConstraintManager.cs
- Type.cs
- DirectoryInfo.cs
- Hashtable.cs
- StyleXamlTreeBuilder.cs
- CodeObject.cs
- EntityContainerRelationshipSet.cs
- ProtocolImporter.cs
- LinearKeyFrames.cs
- VisualBrush.cs
- DynamicValidator.cs
- OleDbConnectionInternal.cs
- MimeMultiPart.cs
- TagNameToTypeMapper.cs
- ActionFrame.cs
- SaveWorkflowCommand.cs
- CheckBoxAutomationPeer.cs
- FrameworkRichTextComposition.cs
- StaticDataManager.cs
- ImageCodecInfo.cs
- CodeDOMUtility.cs
- JobInputBins.cs
- SiteMapPath.cs
- StatusBar.cs
- DispatcherObject.cs
- PreservationFileReader.cs
- formatstringdialog.cs
- ResourceManager.cs
- followingquery.cs
- OdbcEnvironmentHandle.cs
- ColorAnimationUsingKeyFrames.cs
- ItemsChangedEventArgs.cs
- PlaceHolder.cs
- recordstatescratchpad.cs
- StateItem.cs
- GC.cs
- CollectionBuilder.cs
- ListBox.cs
- DependencyProperty.cs
- XmlDataImplementation.cs
- DynamicAttribute.cs
- EastAsianLunisolarCalendar.cs
- QilPatternFactory.cs
- OdbcErrorCollection.cs
- FileSystemEventArgs.cs
- PerformanceCounterPermissionAttribute.cs
- SelfIssuedAuthProofToken.cs
- SimpleLine.cs
- XmlUnspecifiedAttribute.cs
- ViewStateModeByIdAttribute.cs
- DataGridTextBoxColumn.cs
- RealProxy.cs
- ConfigurationStrings.cs
- XmlName.cs
- ToolStripRenderer.cs
- NamedPipeConnectionPool.cs
- MatrixStack.cs
- MenuItemBinding.cs
- CodeArrayIndexerExpression.cs
- PermissionSetEnumerator.cs
- XPathAncestorIterator.cs
- MetafileHeaderWmf.cs
- ScriptResourceHandler.cs
- OleDbStruct.cs
- SafeNativeHandle.cs
- MultiByteCodec.cs
- SerializationInfoEnumerator.cs
- COSERVERINFO.cs
- TagPrefixAttribute.cs
- ControlType.cs
- IsolatedStorageFile.cs
- DocumentPageView.cs
- Annotation.cs
- ScriptManager.cs
- FileAuthorizationModule.cs
- DataServiceQuery.cs
- ChangeConflicts.cs
- CodeStatement.cs
- OutputScopeManager.cs
- CodeDomSerializationProvider.cs
- SchemaNamespaceManager.cs
- PermissionListSet.cs
- ListQueryResults.cs
- QueryResponse.cs
- ChtmlSelectionListAdapter.cs