using System.Collections.Generic; using System.Collections.ObjectModel; namespace System.Net.NetworkInformation{ public class UnicastIPAddressInformationCollection :ICollection { Collection addresses = new Collection() ; protected internal UnicastIPAddressInformationCollection(){ } /// public virtual void CopyTo(UnicastIPAddressInformation[] array, int offset) { addresses.CopyTo(array,offset); } /// public virtual int Count { get { return addresses.Count; } } public virtual bool IsReadOnly { get { return true; } } public virtual void Add(UnicastIPAddressInformation address) { throw new NotSupportedException(SR.GetString(SR.net_collection_readonly)); } internal void InternalAdd(UnicastIPAddressInformation address) { addresses.Add(address); } /// public virtual bool Contains(UnicastIPAddressInformation address) { return addresses.Contains(address); } System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return this.GetEnumerator(); } public virtual IEnumerator GetEnumerator() { return (IEnumerator) addresses.GetEnumerator(); } // Consider removing. public virtual UnicastIPAddressInformation this[int index] { get{ return (UnicastIPAddressInformation)addresses[index]; } } /// public virtual bool Remove(UnicastIPAddressInformation address) { throw new NotSupportedException(SR.GetString(SR.net_collection_readonly)); } /// public virtual void Clear() { throw new NotSupportedException(SR.GetString(SR.net_collection_readonly)); } } }