2002-06-21 Ajay kumar Dwivedi <adwiv@yahoo.com>
authorAjay kumar Dwivedi <ajay@mono-cvs.ximian.com>
Fri, 21 Jun 2002 12:58:58 +0000 (12:58 -0000)
committerAjay kumar Dwivedi <ajay@mono-cvs.ximian.com>
Fri, 21 Jun 2002 12:58:58 +0000 (12:58 -0000)
* XmlQualifiedName: Name and Namespaces are never null. If null is passed
to the constructor, set them to empty strings.
Fixed the Operators.

svn path=/trunk/mcs/; revision=5392

mcs/class/System.XML/System.Xml/ChangeLog
mcs/class/System.XML/System.Xml/XmlQualifiedName.cs

index ca8120a4623f1d5c1cd0eb050b3ded64f386263b..c4a90709c57f9df93bef892bd1645bc80ac0361f 100644 (file)
@@ -1,3 +1,9 @@
+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
index 8e559a749ba1616d764adbe94ed56ade512ad88f..c7c8197ff7fd679f9bf59780a71b818877eaa826 100644 (file)
@@ -2,9 +2,11 @@
 // 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;
 
@@ -14,14 +16,13 @@ namespace System.Xml
        {
                // 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)
@@ -60,13 +61,19 @@ namespace System.Xml
                // 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 ()
                {
@@ -78,7 +85,7 @@ namespace System.Xml
 
                public static string ToString (string name, string ns)
                {
-                       if (ns == null)
+                       if (ns == string.Empty)
                                return name;
                        else                            
                                return ns + ":" + name;
@@ -87,6 +94,9 @@ namespace System.Xml
                // 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
@@ -95,10 +105,10 @@ namespace System.Xml
 
                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