//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// Microsoft
//------------------------------------------------------------------------------
namespace System.Xml.Schema {
using System.Collections;
using System.ComponentModel;
using System.Xml.Serialization;
///
///
/// [To be supplied.]
///
public class XmlSchemaObjectCollection : CollectionBase {
XmlSchemaObject parent;
///
///
/// [To be supplied.]
///
public XmlSchemaObjectCollection() {
}
///
///
/// [To be supplied.]
///
public XmlSchemaObjectCollection(XmlSchemaObject parent) {
this.parent = parent;
}
///
///
/// [To be supplied.]
///
public virtual XmlSchemaObject this[int index] {
get { return (XmlSchemaObject)List[index]; }
set { List[index] = value; }
}
///
///
/// [To be supplied.]
///
public new XmlSchemaObjectEnumerator GetEnumerator() {
return new XmlSchemaObjectEnumerator(InnerList.GetEnumerator());
}
///
///
/// [To be supplied.]
///
public int Add(XmlSchemaObject item) {
return List.Add(item);
}
///
///
/// [To be supplied.]
///
public void Insert(int index, XmlSchemaObject item) {
List.Insert(index, item);
}
///
///
/// [To be supplied.]
///
public int IndexOf(XmlSchemaObject item) {
return List.IndexOf(item);
}
///
///
/// [To be supplied.]
///
public bool Contains(XmlSchemaObject item) {
return List.Contains(item);
}
///
///
/// [To be supplied.]
///
public void Remove(XmlSchemaObject item) {
List.Remove(item);
}
///
///
/// [To be supplied.]
///
public void CopyTo(XmlSchemaObject[] array, int index) {
List.CopyTo(array, index);
}
///
///
/// [To be supplied.]
///
protected override void OnInsert(int index, object item) {
if (parent != null) {
parent.OnAdd(this, item);
}
}
///
///
/// [To be supplied.]
///
protected override void OnSet(int index, object oldValue, object newValue) {
if (parent != null) {
parent.OnRemove(this, oldValue);
parent.OnAdd(this, newValue);
}
}
///
///
/// [To be supplied.]
///
protected override void OnClear() {
if (parent != null) {
parent.OnClear(this);
}
}
///
///
/// [To be supplied.]
///
protected override void OnRemove(int index, object item) {
if (parent != null) {
parent.OnRemove(this, item);
}
}
internal XmlSchemaObjectCollection Clone() {
XmlSchemaObjectCollection coll = new XmlSchemaObjectCollection();
coll.Add(this);
return coll;
}
private void Add(XmlSchemaObjectCollection collToAdd) {
this.InnerList.InsertRange(0, collToAdd);
}
}
///
///
/// [To be supplied.]
///
public class XmlSchemaObjectEnumerator: IEnumerator {
IEnumerator enumerator;
internal XmlSchemaObjectEnumerator( IEnumerator enumerator ) {
this.enumerator = enumerator;
}
///
///
/// [To be supplied.]
///
public void Reset() {
enumerator.Reset();
}
///
///
/// [To be supplied.]
///
public bool MoveNext() {
return enumerator.MoveNext();
}
///
///
/// [To be supplied.]
///
public XmlSchemaObject Current {
get { return (XmlSchemaObject)enumerator.Current; }
}
///
///
void IEnumerator.Reset() {
enumerator.Reset();
}
///
///
bool IEnumerator.MoveNext() {
return enumerator.MoveNext();
}
///
///
object IEnumerator.Current {
get { return enumerator.Current; }
}
}
}