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
- PreservationFileWriter.cs
- SiteOfOriginContainer.cs
- BindingMAnagerBase.cs
- TableLayoutStyle.cs
- DispatcherEventArgs.cs
- DynamicValidatorEventArgs.cs
- TdsParser.cs
- MetafileHeaderWmf.cs
- WebContext.cs
- DocumentViewerAutomationPeer.cs
- TypeLibraryHelper.cs
- PrePrepareMethodAttribute.cs
- HtmlEncodedRawTextWriter.cs
- BamlLocalizableResource.cs
- WorkflowRuntimeService.cs
- CodeGeneratorOptions.cs
- GridViewAutomationPeer.cs
- SqlNamer.cs
- CurrentChangingEventArgs.cs
- XmlSchemaSet.cs
- PersistChildrenAttribute.cs
- ProbeDuplexCD1AsyncResult.cs
- StreamGeometry.cs
- ObjectAssociationEndMapping.cs
- ServiceThrottlingElement.cs
- WebPartConnectionCollection.cs
- NegotiateStream.cs
- ObjectCloneHelper.cs
- CapabilitiesRule.cs
- XmlReflectionMember.cs
- ClientTargetCollection.cs
- PageBorderless.cs
- ServiceObjectContainer.cs
- QueryServiceConfigHandle.cs
- Pts.cs
- FlowDocumentReaderAutomationPeer.cs
- FormattedText.cs
- SafeRightsManagementPubHandle.cs
- TemplateBamlRecordReader.cs
- XamlPointCollectionSerializer.cs
- BStrWrapper.cs
- TransformProviderWrapper.cs
- PermissionAttributes.cs
- HwndKeyboardInputProvider.cs
- ViewRendering.cs
- MemoryPressure.cs
- NetTcpSecurityElement.cs
- SoapFormatterSinks.cs
- SmiEventSink_Default.cs
- TableStyle.cs
- ManagedWndProcTracker.cs
- BitStream.cs
- SupportsEventValidationAttribute.cs
- SchemaNames.cs
- XmlAtomicValue.cs
- DesigntimeLicenseContext.cs
- XmlTypeMapping.cs
- Rect.cs
- TextViewDesigner.cs
- oledbmetadatacolumnnames.cs
- FontWeights.cs
- ExtenderControl.cs
- DataSourceXmlAttributeAttribute.cs
- WebBrowserUriTypeConverter.cs
- ReadOnlyCollectionBase.cs
- CompressionTransform.cs
- HttpHeaderCollection.cs
- TransformationRules.cs
- FixedPageAutomationPeer.cs
- WindowsGrip.cs
- InvokeProviderWrapper.cs
- QueryNode.cs
- CustomTrackingRecord.cs
- SecurityAccessDeniedException.cs
- InsufficientMemoryException.cs
- InfiniteIntConverter.cs
- SchemaLookupTable.cs
- TypeSemantics.cs
- HMACMD5.cs
- PopupRootAutomationPeer.cs
- XmlTextEncoder.cs
- ActivityDesignerResources.cs
- IPipelineRuntime.cs
- MULTI_QI.cs
- RelationshipManager.cs
- Set.cs
- Msec.cs
- OleStrCAMarshaler.cs
- DBNull.cs
- CurrencyManager.cs
- WindowsListBox.cs
- ListenerChannelContext.cs
- SizeAnimation.cs
- HwndAppCommandInputProvider.cs
- TemplateControlBuildProvider.cs
- ReadOnlyDictionary.cs
- SystemWebExtensionsSectionGroup.cs
- DiscoveryCallbackBehavior.cs
- SafeBuffer.cs
- GrowingArray.cs