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