2 // System.Web.Services.Description.MessageCollection.cs
\r
5 // Tim Coleman (tim@timcoleman.com)
\r
7 // Copyright (C) Tim Coleman, 2002
\r
10 namespace System.Web.Services.Description {
\r
11 public sealed class MessageCollection : ServiceDescriptionBaseCollection {
\r
15 ServiceDescription serviceDescription;
\r
17 #endregion // Fields
\r
19 #region Constructors
\r
21 internal MessageCollection (ServiceDescription serviceDescription)
\r
23 this.serviceDescription = serviceDescription;
\r
30 public Message this [int index] {
\r
32 if (index < 0 || index > Count)
\r
33 throw new ArgumentOutOfRangeException ();
\r
35 return (Message) List [index];
\r
37 set { List [index] = value; }
\r
40 public Message this [string name] {
\r
41 get { return this [IndexOf ((Message) Table [name])]; }
\r
44 #endregion // Properties
\r
48 public int Add (Message message)
\r
50 Insert (Count, message);
\r
54 public bool Contains (Message message)
\r
56 return List.Contains (message);
\r
59 public void CopyTo (Message[] array, int index)
\r
61 List.CopyTo (array, index);
\r
64 protected override string GetKey (object value)
\r
66 if (!(value is Message))
\r
67 throw new InvalidCastException ();
\r
69 return ((Message) value).Name;
\r
72 public int IndexOf (Message message)
\r
74 return List.IndexOf (message);
\r
77 public void Insert (int index, Message message)
\r
79 SetParent (message, serviceDescription);
\r
80 List.Insert (index, message);
\r
83 public void Remove (Message message)
\r
85 List.Remove (message);
\r
88 protected override void SetParent (object value, object parent)
\r
90 ((Message) value).SetParent ((ServiceDescription) parent);
\r
93 #endregion // Methods
\r