Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- _TimerThread.cs
- DocumentViewerBaseAutomationPeer.cs
- DataSourceCache.cs
- ClipboardData.cs
- EventMappingSettings.cs
- DataGridViewCellValidatingEventArgs.cs
- ContractMethodInfo.cs
- DefinitionUpdate.cs
- JavaScriptObjectDeserializer.cs
- OracleCommandBuilder.cs
- SoapAttributeAttribute.cs
- EntityTypeBase.cs
- DataSourceView.cs
- EmbossBitmapEffect.cs
- ExtendedPropertyInfo.cs
- PlainXmlSerializer.cs
- NominalTypeEliminator.cs
- ToolboxDataAttribute.cs
- LineBreak.cs
- CompilerCollection.cs
- ListViewItemEventArgs.cs
- CodeSnippetExpression.cs
- WsrmFault.cs
- EventLogPermissionAttribute.cs
- PropertyTabAttribute.cs
- HttpPostedFile.cs
- WebPartDisplayMode.cs
- EditCommandColumn.cs
- MessageSecurityVersion.cs
- NumericUpDownAcceleration.cs
- DocumentSchemaValidator.cs
- HostingEnvironment.cs
- ContentElementAutomationPeer.cs
- ConfigXmlCDataSection.cs
- MetadataPropertyvalue.cs
- HtmlFormParameterReader.cs
- TreeView.cs
- BitmapCodecInfoInternal.cs
- MergeFailedEvent.cs
- GlyphInfoList.cs
- SeekStoryboard.cs
- HttpCacheParams.cs
- ObjectManager.cs
- Region.cs
- HwndSource.cs
- HttpServerChannel.cs
- DataKeyCollection.cs
- COAUTHIDENTITY.cs
- QueryConverter.cs
- Fonts.cs
- Directory.cs
- Decoder.cs
- SocketAddress.cs
- ActivationServices.cs
- StringValidatorAttribute.cs
- OracleRowUpdatingEventArgs.cs
- InputMethod.cs
- MethodBody.cs
- GlyphsSerializer.cs
- XpsLiterals.cs
- RuleSetReference.cs
- OleDbParameter.cs
- ExtendedPropertyInfo.cs
- WorkflowApplicationCompletedException.cs
- MessageAction.cs
- controlskin.cs
- XPathBinder.cs
- InstancePersistenceCommandException.cs
- MarkedHighlightComponent.cs
- AttributeUsageAttribute.cs
- KeyPullup.cs
- SqlXmlStorage.cs
- SystemEvents.cs
- ResourceManagerWrapper.cs
- FigureParaClient.cs
- BindableTemplateBuilder.cs
- DocobjHost.cs
- XsltSettings.cs
- TypedElement.cs
- RequestSecurityToken.cs
- RoleBoolean.cs
- LinkArea.cs
- SqlReorderer.cs
- SpellerHighlightLayer.cs
- CodeAttributeDeclarationCollection.cs
- FileDialog.cs
- PermissionSet.cs
- DataColumnPropertyDescriptor.cs
- RecognizedPhrase.cs
- ToolTipService.cs
- MSG.cs
- NameSpaceExtractor.cs
- SqlServices.cs
- LookupNode.cs
- validationstate.cs
- DataGridViewColumnCollection.cs
- ReflectionTypeLoadException.cs
- LazyTextWriterCreator.cs
- NetworkAddressChange.cs
- XslException.cs