//---------------------------------------------------------------------
//
// 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))
{
}
}
}