FaultBindingCollection.cs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. //
  2. // System.Web.Services.Description.FaultBindingCollection.cs
  3. //
  4. // Author:
  5. // Tim Coleman ([email protected])
  6. //
  7. // Copyright (C) Tim Coleman, 2002
  8. //
  9. using System.Web.Services;
  10. namespace System.Web.Services.Description {
  11. public sealed class FaultBindingCollection : ServiceDescriptionBaseCollection {
  12. #region Fields
  13. OperationBinding operationBinding;
  14. #endregion // Fields
  15. #region Constructors
  16. internal FaultBindingCollection (OperationBinding operationBinding)
  17. {
  18. this.operationBinding = operationBinding;
  19. }
  20. #endregion // Constructors
  21. #region Properties
  22. public FaultBinding this [int index] {
  23. get {
  24. if (index < 0 || index > Count)
  25. throw new ArgumentOutOfRangeException ();
  26. return (FaultBinding) List[index];
  27. }
  28. [MonoTODO]
  29. set { throw new NotImplementedException (); }
  30. }
  31. public FaultBinding this [string name] {
  32. get { return this[IndexOf ((FaultBinding) Table[name])]; }
  33. }
  34. #endregion // Properties
  35. #region Methods
  36. public int Add (FaultBinding bindingOperationFault)
  37. {
  38. Insert (Count, bindingOperationFault);
  39. return (Count - 1);
  40. }
  41. public bool Contains (FaultBinding bindingOperationFault)
  42. {
  43. return List.Contains (bindingOperationFault);
  44. }
  45. public void CopyTo (FaultBinding[] array, int index)
  46. {
  47. List.CopyTo (array, index);
  48. }
  49. protected override string GetKey (object value)
  50. {
  51. if (!(value is FaultBinding))
  52. throw new InvalidCastException ();
  53. return ((FaultBinding) value).Name;
  54. }
  55. public int IndexOf (FaultBinding bindingOperationFault)
  56. {
  57. return List.IndexOf (bindingOperationFault);
  58. }
  59. public void Insert (int index, FaultBinding bindingOperationFault)
  60. {
  61. SetParent (bindingOperationFault, operationBinding);
  62. Table [GetKey (bindingOperationFault)] = bindingOperationFault;
  63. List.Insert (index, bindingOperationFault);
  64. }
  65. public void Remove (FaultBinding bindingOperationFault)
  66. {
  67. Table.Remove (GetKey (bindingOperationFault));
  68. List.Remove (bindingOperationFault);
  69. }
  70. protected override void SetParent (object value, object parent)
  71. {
  72. ((FaultBinding) value).SetParent ((OperationBinding) parent);
  73. }
  74. #endregion // Methods
  75. }
  76. }