//--------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner Microsoft // @backupOwner Microsoft //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.Metadata.Edm; using System.Diagnostics; namespace System.Data.Metadata.Edm { /// /// This class attempts to make a double linked connection between a parent and child without /// exposing the properties publicly that would allow them to be mutable and possibly dangerous /// in a multithreading environment /// /// /// internal class SafeLinkCollection : ReadOnlyMetadataCollection where TChild : MetadataItem where TParent : class { public SafeLinkCollection(TParent parent, Func> getLink, MetadataCollection children) : base((IList)SafeLink.BindChildren(parent, getLink, children)) { } } }