XmlQualifiedName.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. //
  2. // System.Xml.XmlQualifiedName.cs
  3. //
  4. // Author: Duncan Mak ([email protected])
  5. //
  6. // (C) Ximian, Inc.
  7. //
  8. // Modified:
  9. // 21st June 2002 : Ajay kumar Dwivedi ([email protected])
  10. using System;
  11. namespace System.Xml
  12. {
  13. public class XmlQualifiedName
  14. {
  15. // Constructors
  16. public XmlQualifiedName ()
  17. : this (string.Empty, string.Empty)
  18. {
  19. }
  20. public XmlQualifiedName (string name)
  21. : this (name, string.Empty)
  22. {
  23. }
  24. public XmlQualifiedName (string name, string ns)
  25. : base ()
  26. {
  27. this.name = name;
  28. this.ns = ns;
  29. }
  30. // Fields
  31. public static readonly XmlQualifiedName Empty = new XmlQualifiedName ();
  32. private string name;
  33. private string ns;
  34. // Properties
  35. public bool IsEmpty
  36. {
  37. get {
  38. if ((name == String.Empty) && (ns == String.Empty))
  39. return true;
  40. else
  41. return false;
  42. }
  43. }
  44. public string Name
  45. {
  46. get { return name; }
  47. }
  48. public string Namespace
  49. {
  50. get { return ns; }
  51. }
  52. // Methods
  53. public override bool Equals (object other)
  54. {
  55. if(!(other is XmlQualifiedName))
  56. return false;
  57. if ((XmlQualifiedName) this == (XmlQualifiedName) other)
  58. return true;
  59. else
  60. return false;
  61. }
  62. public override int GetHashCode ()
  63. {
  64. return ns != null ?
  65. unchecked (name.GetHashCode () + ns.GetHashCode ()) : name.GetHashCode ();
  66. }
  67. public override string ToString ()
  68. {
  69. if (ns == null)
  70. return name;
  71. else if (ns == string.Empty)
  72. return name;
  73. else
  74. return ns + ":" + name;
  75. }
  76. public static string ToString (string name, string ns)
  77. {
  78. if (ns == string.Empty)
  79. return name;
  80. else
  81. return ns + ":" + name;
  82. }
  83. // Operators
  84. public static bool operator == (XmlQualifiedName a, XmlQualifiedName b)
  85. {
  86. if((Object)a == null || (Object)b == null)
  87. return false;
  88. if ((a.Name == b.Name) && (a.Namespace == b.Namespace))
  89. return true;
  90. else
  91. return false;
  92. }
  93. public static bool operator != (XmlQualifiedName a, XmlQualifiedName b)
  94. {
  95. if (a == b)
  96. return false;
  97. else
  98. return true;
  99. }
  100. }
  101. }