| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- //
- // System.Web.Services.Description.PortCollection.cs
- //
- // Author:
- // Tim Coleman ([email protected])
- //
- // Copyright (C) Tim Coleman, 2002
- //
- namespace System.Web.Services.Description {
- public sealed class PortCollection : ServiceDescriptionBaseCollection {
- #region Fields
- Service service;
- #endregion // Fields
- #region Constructors
- internal PortCollection (Service service)
- {
- this.service = service;
- }
- #endregion
- #region Properties
- public Port this [int index] {
- get {
- if (index < 0 || index > Count)
- throw new ArgumentOutOfRangeException ();
- return (Port) List[index];
- }
- [MonoTODO]
- set { throw new NotImplementedException (); }
- }
- public Port this [string name] {
- get { return this[IndexOf ((Port) Table[name])]; }
- }
- #endregion // Properties
- #region Methods
- public int Add (Port port)
- {
- Insert (Count, port);
- return (Count - 1);
- }
- public bool Contains (Port port)
- {
- return List.Contains (port);
- }
- public void CopyTo (Port[] array, int index)
- {
- List.CopyTo (array, index);
- }
- protected override string GetKey (object value)
- {
- if (!(value is Port))
- throw new InvalidCastException ();
- return ((Port) value).Name;
- }
- public int IndexOf (Port port)
- {
- return List.IndexOf (port);
- }
- public void Insert (int index, Port port)
- {
- SetParent (port, service);
- Table [GetKey (port)] = port;
- List.Insert (index, port);
- }
-
- public void Remove (Port port)
- {
- Table.Remove (GetKey (port));
- List.Remove (port);
- }
-
- protected override void SetParent (object value, object parent)
- {
- ((Port) value).SetParent ((Service) parent);
- }
-
- #endregion // Methods
- }
- }
|