2 // System.Web.Services.Description.FaultBindingCollection.cs
\r
5 // Tim Coleman (tim@timcoleman.com)
\r
7 // Copyright (C) Tim Coleman, 2002
\r
10 using System.Web.Services;
\r
12 namespace System.Web.Services.Description {
\r
13 public sealed class FaultBindingCollection : ServiceDescriptionBaseCollection {
\r
17 OperationBinding operationBinding;
\r
19 #endregion // Fields
\r
21 #region Constructors
\r
23 internal FaultBindingCollection (OperationBinding operationBinding)
\r
25 this.operationBinding = operationBinding;
\r
28 #endregion // Constructors
\r
32 public FaultBinding this [int index] {
\r
34 if (index < 0 || index > Count)
\r
35 throw new ArgumentOutOfRangeException ();
\r
36 return (FaultBinding) List[index];
\r
39 set { throw new NotImplementedException (); }
\r
42 public FaultBinding this [string name] {
\r
43 get { return this[IndexOf ((FaultBinding) Table[name])]; }
\r
46 #endregion // Properties
\r
50 public int Add (FaultBinding bindingOperationFault)
\r
52 Insert (Count, bindingOperationFault);
\r
56 public bool Contains (FaultBinding bindingOperationFault)
\r
58 return List.Contains (bindingOperationFault);
\r
61 public void CopyTo (FaultBinding[] array, int index)
\r
63 List.CopyTo (array, index);
\r
66 protected override string GetKey (object value)
\r
68 if (!(value is FaultBinding))
\r
69 throw new InvalidCastException ();
\r
71 return ((FaultBinding) value).Name;
\r
74 public int IndexOf (FaultBinding bindingOperationFault)
\r
76 return List.IndexOf (bindingOperationFault);
\r
79 public void Insert (int index, FaultBinding bindingOperationFault)
\r
81 SetParent (bindingOperationFault, operationBinding);
\r
82 Table [GetKey (bindingOperationFault)] = bindingOperationFault;
\r
83 List.Insert (index, bindingOperationFault);
\r
86 public void Remove (FaultBinding bindingOperationFault)
\r
88 Table.Remove (GetKey (bindingOperationFault));
\r
89 List.Remove (bindingOperationFault);
\r
92 protected override void SetParent (object value, object parent)
\r
94 ((FaultBinding) value).SetParent ((OperationBinding) parent);
\r
97 #endregion // Methods
\r