public int Compare(object ka, object kb)
        {
            if (ka == kb)
            {
                return(0);
            }
            if (ka == null)
            {
                return(-1);
            }
            if (kb == null)
            {
                return(1);
            }

            var r = -2;

            if (Expando.Of(ka).IsString)
            {
                r = Expando.Compare(ka, kb);
            }

            if (Expando.Of(ka).IsNumber)
            {
                r = Expando.Compare(ka, kb);
            }

            if (Expando.Of(ka).IsBoolean)
            {
                r = Expando.Compare(ka, kb);
            }


            if (r == -2)
            {
                if (ka == kb)
                {
                    return(0);
                }

                // how do we compare two objects?
                // X:\jsc.svn\core\ScriptCoreLib\ActionScript\BCLImplementation\System\Collections\Comparer.cs
                return(1);
            }

            return(r);
        }
Beispiel #2
0
 public int CompareTo(__Byte e)
 {
     return(Expando.Compare(this, e));
 }
Beispiel #3
0
 public int CompareTo(__Int32 e)
 {
     return(Expando.Compare(this, e));
 }
Beispiel #4
0
 public int CompareTo(__Double e)
 {
     return Expando.Compare(this, e);
 }
Beispiel #5
0
 public int CompareTo(long e)
 {
     return(Expando.Compare(this, e));
 }
Beispiel #6
0
        public int CompareTo(__Double e)
        {
            // Z:\jsc.svn\core\ScriptCoreLib\Shared\BCLImplementation\Microsoft\VisualBasic\CompilerServices\Operators.cs

            return(Expando.Compare(this, e));
        }