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
- WebRequest.cs
- MessageQueueEnumerator.cs
- HttpCookiesSection.cs
- TableRowGroup.cs
- MetafileHeaderWmf.cs
- SoapObjectInfo.cs
- BamlLocalizableResourceKey.cs
- DataGridViewDataConnection.cs
- SchemaImporter.cs
- ToolStripContentPanelRenderEventArgs.cs
- MultiSelector.cs
- RegexCharClass.cs
- AuthenticateEventArgs.cs
- ExclusiveTcpListener.cs
- ConfigXmlDocument.cs
- StringConverter.cs
- PageThemeCodeDomTreeGenerator.cs
- UriGenerator.cs
- StringConverter.cs
- ReadOnlyTernaryTree.cs
- StreamUpgradeBindingElement.cs
- TextOnlyOutput.cs
- ObjectSelectorEditor.cs
- UrlMappingCollection.cs
- NumberFunctions.cs
- PassportAuthenticationEventArgs.cs
- RealizationContext.cs
- EmissiveMaterial.cs
- StringUtil.cs
- ContainsRowNumberChecker.cs
- CacheMemory.cs
- mansign.cs
- PropVariant.cs
- SQLByte.cs
- FillErrorEventArgs.cs
- XhtmlBasicPageAdapter.cs
- XmlDocumentFieldSchema.cs
- Win32.cs
- DataGridViewRowsAddedEventArgs.cs
- PersonalizationProvider.cs
- Walker.cs
- UpdateProgress.cs
- Propagator.Evaluator.cs
- RegistryDataKey.cs
- TemplatePagerField.cs
- Authorization.cs
- ValidationSummary.cs
- ComponentCollection.cs
- BooleanSwitch.cs
- Assert.cs
- SqlTransaction.cs
- ScrollItemPatternIdentifiers.cs
- ConfigurationValidatorBase.cs
- TdsParameterSetter.cs
- DrawItemEvent.cs
- Timeline.cs
- EmptyStringExpandableObjectConverter.cs
- MessageEnumerator.cs
- Encoding.cs
- SQLCharsStorage.cs
- odbcmetadatacolumnnames.cs
- SafeSystemMetrics.cs
- Rectangle.cs
- rsa.cs
- MemberRelationshipService.cs
- WSSecurityXXX2005.cs
- CallbackValidator.cs
- DesignerActionPropertyItem.cs
- Point3DAnimation.cs
- QueryableFilterRepeater.cs
- InputMethodStateChangeEventArgs.cs
- DateTimeOffsetStorage.cs
- MetabaseSettingsIis7.cs
- LongValidator.cs
- WebPartConnectionsConfigureVerb.cs
- KnowledgeBase.cs
- GridViewUpdatedEventArgs.cs
- AuthenticateEventArgs.cs
- ReplacementText.cs
- WindowsNonControl.cs
- SoapHeader.cs
- FontFamily.cs
- WarningException.cs
- CommonDialog.cs
- SystemKeyConverter.cs
- ToolboxBitmapAttribute.cs
- UnmanagedMemoryStream.cs
- SharedPersonalizationStateInfo.cs
- DataMemberConverter.cs
- CompModSwitches.cs
- ConfigurationSectionGroup.cs
- CollectionViewGroup.cs
- SoapHeader.cs
- NullableDoubleAverageAggregationOperator.cs
- SystemIPGlobalStatistics.cs
- ServiceKnownTypeAttribute.cs
- WebServiceMethodData.cs
- RegexStringValidatorAttribute.cs
- ExtenderHelpers.cs
- FixedSOMGroup.cs