116 lines
3.7 KiB
C#
116 lines
3.7 KiB
C#
|
//------------------------------------------------------------------------------
|
||
|
// <copyright file="DocumentCollection.cs" company="Microsoft">
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
// </copyright>
|
||
|
//------------------------------------------------------------------------------
|
||
|
|
||
|
/*
|
||
|
*/
|
||
|
namespace System.ComponentModel.Design {
|
||
|
using Microsoft.Win32;
|
||
|
using System.Collections;
|
||
|
using System.ComponentModel;
|
||
|
using System.Diagnostics;
|
||
|
using System.Runtime.InteropServices;
|
||
|
using System.Security.Permissions;
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// <para>
|
||
|
/// Provides a read-only collection of documents.
|
||
|
/// </para>
|
||
|
/// </devdoc>
|
||
|
[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;
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// <para>
|
||
|
/// Initializes a new instance of the <see cref='System.ComponentModel.Design.DesignerCollection'/> class
|
||
|
/// that stores an array with a pointer to each <see cref='System.ComponentModel.Design.IDesignerHost'/>
|
||
|
/// for each document in the collection.
|
||
|
/// </para>
|
||
|
/// </devdoc>
|
||
|
public DesignerCollection(IDesignerHost[] designers) {
|
||
|
if (designers != null) {
|
||
|
this.designers = new ArrayList(designers);
|
||
|
}
|
||
|
else {
|
||
|
this.designers = new ArrayList();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// <para>
|
||
|
/// Initializes a new instance of the <see cref='System.ComponentModel.Design.DesignerCollection'/> class
|
||
|
/// that stores an array with a pointer to each <see cref='System.ComponentModel.Design.IDesignerHost'/>
|
||
|
/// for each document in the collection.
|
||
|
/// </para>
|
||
|
/// </devdoc>
|
||
|
public DesignerCollection(IList designers) {
|
||
|
this.designers = designers;
|
||
|
}
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// <para>Gets or
|
||
|
/// sets the number
|
||
|
/// of documents in the collection.</para>
|
||
|
/// </devdoc>
|
||
|
public int Count {
|
||
|
get {
|
||
|
return designers.Count;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// <para> Gets
|
||
|
/// or sets the document at the specified index.</para>
|
||
|
/// </devdoc>
|
||
|
public virtual IDesignerHost this[int index] {
|
||
|
get {
|
||
|
return (IDesignerHost)designers[index];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// <para>Creates and retrieves a new enumerator for this collection.</para>
|
||
|
/// </devdoc>
|
||
|
public IEnumerator GetEnumerator() {
|
||
|
return designers.GetEnumerator();
|
||
|
}
|
||
|
|
||
|
/// <internalonly/>
|
||
|
int ICollection.Count {
|
||
|
get {
|
||
|
return Count;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/// <internalonly/>
|
||
|
bool ICollection.IsSynchronized {
|
||
|
get {
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/// <internalonly/>
|
||
|
object ICollection.SyncRoot {
|
||
|
get {
|
||
|
return null;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/// <internalonly/>
|
||
|
void ICollection.CopyTo(Array array, int index) {
|
||
|
designers.CopyTo(array, index);
|
||
|
}
|
||
|
|
||
|
/// <internalonly/>
|
||
|
IEnumerator IEnumerable.GetEnumerator() {
|
||
|
return GetEnumerator();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|