+2002-06-21 Ajay kumar Dwivedi <adwiv@yahoo.com>
+
+ * XmlQualifiedName: Name and Namespaces are never null. If null is passed
+ to the constructor, set them to empty strings.
+ Fixed the Operators.
+
2002-06-18 Ajay kumar Dwivedi <adwiv@yahoo.com>
* XmlTextReader.cs: HasLineInfo returns false instead of throwing an
// System.Xml.XmlQualifiedName.cs
//
// Author: Duncan Mak (duncan@ximian.com)
-//
+//
// (C) Ximian, Inc.
-//
+//
+// Modified:
+// 21st June 2002 : Ajay kumar Dwivedi (adwiv@yahoo.com)
using System;
{
// Constructors
public XmlQualifiedName ()
- : base ()
+ : this (string.Empty, string.Empty)
{
}
public XmlQualifiedName (string name)
- : base ()
+ : this (name, string.Empty)
{
- this.name = name;
}
public XmlQualifiedName (string name, string ns)
// Methods
public override bool Equals (object other)
{
+ if(!(other is XmlQualifiedName))
+ return false;
+
if ((XmlQualifiedName) this == (XmlQualifiedName) other)
return true;
else
return false;
}
- [MonoTODO] public override int GetHashCode () { return 42; }
+ public override int GetHashCode ()
+ {
+ return unchecked (name.GetHashCode() + ns.GetHashCode());
+ }
public override string ToString ()
{
public static string ToString (string name, string ns)
{
- if (ns == null)
+ if (ns == string.Empty)
return name;
else
return ns + ":" + name;
// Operators
public static bool operator == (XmlQualifiedName a, XmlQualifiedName b)
{
+ if((Object)a == null || (Object)b == null)
+ return false;
+
if ((a.Name == b.Name) && (a.Namespace == b.Namespace))
return true;
else
public static bool operator != (XmlQualifiedName a, XmlQualifiedName b)
{
- if (!(a == b))
+ if (a == b)
return false;
else
return true;
}
}
-}
+}
\ No newline at end of file