Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Metadata / Edm / safelink.cs / 1305376 / safelink.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //---------------------------------------------------------------------using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; namespace System.Data.Metadata.Edm { internal class SafeLinkwhere TParent : class { private TParent _value; public TParent Value { get { return _value; } } internal static IEnumerable BindChildren (TParent parent, Func > getLink, IEnumerable children) { foreach (TChild child in children) { BindChild(parent, getLink, child); } return children; } internal static TChild BindChild (TParent parent, Func > getLink, TChild child) { SafeLink link = getLink(child); Debug.Assert(link._value == null || link._value == parent, "don't try to hook up the same child to a different parent"); // this is the good stuff.. // only this method can actually make the link since _value is a private link._value = parent; return child; } } } // 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
- StreamResourceInfo.cs
- TrackingProfileSerializer.cs
- IntSecurity.cs
- ReadOnlyMetadataCollection.cs
- Evidence.cs
- SwitchLevelAttribute.cs
- DataTrigger.cs
- ObsoleteAttribute.cs
- EdgeModeValidation.cs
- RestHandlerFactory.cs
- XMLSyntaxException.cs
- TagMapCollection.cs
- EventRoute.cs
- FieldMetadata.cs
- DataContract.cs
- ZipIOExtraFieldZip64Element.cs
- PrincipalPermissionMode.cs
- ToolboxCategoryItems.cs
- LocatorBase.cs
- TimeoutConverter.cs
- ScaleTransform3D.cs
- UserNameSecurityTokenAuthenticator.cs
- DrawingAttributes.cs
- XmlLanguage.cs
- FocusChangedEventArgs.cs
- sqlmetadatafactory.cs
- ActivitySurrogate.cs
- AutoCompleteStringCollection.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- Int32KeyFrameCollection.cs
- PageContent.cs
- StringWriter.cs
- Event.cs
- IdnElement.cs
- RSAPKCS1SignatureDeformatter.cs
- LexicalChunk.cs
- Point4D.cs
- DocumentCollection.cs
- SessionMode.cs
- Stacktrace.cs
- LabelEditEvent.cs
- ExpressionBindings.cs
- HttpInputStream.cs
- UnsafeNativeMethods.cs
- ConstructorBuilder.cs
- DateTimeFormat.cs
- HttpRuntime.cs
- DocumentViewerBaseAutomationPeer.cs
- TimerElapsedEvenArgs.cs
- XmlSerializerVersionAttribute.cs
- EnumDataContract.cs
- TransactionContext.cs
- ObjectViewQueryResultData.cs
- TdsParserSessionPool.cs
- SecurityContext.cs
- WebControl.cs
- DataServiceRequest.cs
- RowUpdatingEventArgs.cs
- ProxyWebPartConnectionCollection.cs
- MultipartIdentifier.cs
- SynchronizedChannelCollection.cs
- ProcessModuleCollection.cs
- KeyEventArgs.cs
- WebPartEditorApplyVerb.cs
- SafeFileHandle.cs
- FormsAuthenticationModule.cs
- ExceptionTrace.cs
- EntityParameter.cs
- TrueReadOnlyCollection.cs
- HttpResponseWrapper.cs
- EntityDesignerDataSourceView.cs
- PointConverter.cs
- Canvas.cs
- SecurityHelper.cs
- BufferedGraphics.cs
- DrawListViewItemEventArgs.cs
- BitmapPalette.cs
- EventLogPermission.cs
- TypeDescriptorFilterService.cs
- PbrsForward.cs
- DataGridViewCellStyleChangedEventArgs.cs
- MetabaseSettingsIis7.cs
- WorkflowMarkupSerializer.cs
- Constraint.cs
- ButtonFlatAdapter.cs
- Types.cs
- SystemWebExtensionsSectionGroup.cs
- ManagedWndProcTracker.cs
- SoapIncludeAttribute.cs
- WeakRefEnumerator.cs
- PnrpPeerResolverBindingElement.cs
- UnsafeNativeMethods.cs
- HttpModulesSection.cs
- Hex.cs
- MinMaxParagraphWidth.cs
- MessageQueuePermission.cs
- IOThreadTimer.cs
- DataKey.cs
- Size3DValueSerializer.cs
- SuppressMergeCheckAttribute.cs