//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ /* */ namespace System.ComponentModel.Design { using Microsoft.Win32; using System.Collections; using System.ComponentModel; using System.Diagnostics; using System.Runtime.InteropServices; using System.Security.Permissions; /// /// /// Provides a read-only collection of documents. /// /// [HostProtection(SharedState = true)] [System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.InheritanceDemand, Name = "FullTrust")] [System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.LinkDemand, Name="FullTrust")] public class DesignerCollection : ICollection { private IList designers; /// /// /// Initializes a new instance of the class /// that stores an array with a pointer to each /// for each document in the collection. /// /// public DesignerCollection(IDesignerHost[] designers) { if (designers != null) { this.designers = new ArrayList(designers); } else { this.designers = new ArrayList(); } } /// /// /// Initializes a new instance of the class /// that stores an array with a pointer to each /// for each document in the collection. /// /// public DesignerCollection(IList designers) { this.designers = designers; } /// /// Gets or /// sets the number /// of documents in the collection. /// public int Count { get { return designers.Count; } } /// /// Gets /// or sets the document at the specified index. /// public virtual IDesignerHost this[int index] { get { return (IDesignerHost)designers[index]; } } /// /// Creates and retrieves a new enumerator for this collection. /// public IEnumerator GetEnumerator() { return designers.GetEnumerator(); } /// int ICollection.Count { get { return Count; } } /// bool ICollection.IsSynchronized { get { return false; } } /// object ICollection.SyncRoot { get { return null; } } /// void ICollection.CopyTo(Array array, int index) { designers.CopyTo(array, index); } /// IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } } }