Ejemplo n.º 1
0
        private static string InternalGetValue(object o, PropertyInfo p, int index)
        {
            Type   propertyType = p.PropertyType;
            object obj1         = (object)null;

            if (propertyType.IsArray)
            {
                try
                {
                    object obj2       = p.GetValue(o, (object[])null);
                    int    lowerBound = ((Array)obj2).GetLowerBound(0);
                    int    upperBound = ((Array)obj2).GetUpperBound(0);
                    if (index <= lowerBound)
                    {
                        if (index <= upperBound)
                        {
                            obj1 = ((Array)obj2).GetValue(index);
                        }
                    }
                }
                catch
                {
                }
            }
            else
            {
                obj1 = p.GetValue(o, (object[])null);
            }
            string str = obj1 != null ? (!PropertyTest.IsNumeric(propertyType) ? (!PropertyTest.IsChar(propertyType) ? (!PropertyTest.IsString(propertyType) ? obj1.ToString() : string.Format("\"{0}\"", obj1)) : string.Format("'{0}' ({1} [0x{1:X}])", obj1, (object)(int)obj1)) : string.Format("{0} (0x{0:X})", obj1)) : "(-null-)";

            return(string.Format("{0} = {1}", (object)p.Name, (object)str));
        }
Ejemplo n.º 2
0
 public static string ParseGetValue(string str, Type ptype)
 {
     if (str == null)
     {
         return((string)null);
     }
     string[] strArray = str.Split("=".ToCharArray(), 2);
     if (strArray.Length <= 1)
     {
         return((string)null);
     }
     if (PropertyTest.IsNumeric(ptype))
     {
         return(strArray[1].Trim().Split(" ".ToCharArray(), 2)[0]);
     }
     return(strArray[1].Trim());
 }
Ejemplo n.º 3
0
 public static string ParseGetValue(string str, Type ptype)
 {
     if (str == null)
     {
         return(null);
     }
     string[] strArrays = str.Split("=".ToCharArray(), 2);
     if ((int)strArrays.Length <= 1)
     {
         return(null);
     }
     if (!PropertyTest.IsNumeric(ptype))
     {
         return(strArrays[1].Trim());
     }
     string[] strArrays1 = strArrays[1].Trim().Split(" ".ToCharArray(), 2);
     return(strArrays1[0]);
 }
Ejemplo n.º 4
0
        private static string InternalGetValue(object o, PropertyInfo p, int index)
        {
            string str;
            Type   propertyType = p.PropertyType;
            object value        = null;

            if (!propertyType.IsArray)
            {
                value = p.GetValue(o, null);
            }
            else
            {
                try
                {
                    object obj        = p.GetValue(o, null);
                    int    lowerBound = ((Array)obj).GetLowerBound(0);
                    int    upperBound = ((Array)obj).GetUpperBound(0);
                    if (index <= lowerBound && index <= upperBound)
                    {
                        value = ((Array)obj).GetValue(index);
                    }
                }
                catch
                {
                }
            }
            if (value == null)
            {
                str = "(-null-)";
            }
            else if (PropertyTest.IsNumeric(propertyType))
            {
                str = string.Format("{0} (0x{0:X})", value);
            }
            else if (!PropertyTest.IsChar(propertyType))
            {
                str = (!PropertyTest.IsString(propertyType) ? value.ToString() : string.Format("\"{0}\"", value));
            }
            else
            {
                str = string.Format("'{0}' ({1} [0x{1:X}])", value, (int)value);
            }
            return(string.Format("{0} = {1}", p.Name, str));
        }
Ejemplo n.º 5
0
        public static bool CheckSingleProperty(object o, string testString, out string status_str)
        {
            Type type;
            Type type1;
            bool flag;

            status_str = null;
            if (o == null)
            {
                return(false);
            }
            string[] strArrays = PropertyTest.ParseString(testString, 2, "=><!");
            if ((int)strArrays.Length < 2)
            {
                status_str = string.Concat("invalid property string : ", testString);
                return(false);
            }
            bool flag1 = false;
            bool flag2 = false;
            bool flag3 = false;
            bool flag4 = false;

            if (testString.IndexOf("=") > 0)
            {
                flag1 = true;
            }
            else if (testString.IndexOf("!") > 0)
            {
                flag2 = true;
            }
            else if (testString.IndexOf(">") > 0)
            {
                flag3 = true;
            }
            else if (testString.IndexOf("<") > 0)
            {
                flag4 = true;
            }
            if (!flag1 && !flag3 && !flag4 && !flag2)
            {
                return(false);
            }
            string str = PropertyTest.ParseForKeywords(o, strArrays[0].Trim(), false, out type);

            if (type == null)
            {
                status_str = string.Concat(strArrays[0], " : ", str);
                return(false);
            }
            string str1 = PropertyTest.ParseForKeywords(o, strArrays[1].Trim(), false, out type1);

            if (type1 == null)
            {
                status_str = string.Concat(strArrays[1], " : ", str1);
                return(false);
            }
            int num  = 10;
            int num1 = 10;

            if (PropertyTest.IsNumeric(type) && str.StartsWith("0x"))
            {
                num = 16;
            }
            if (PropertyTest.IsNumeric(type1) && str1.StartsWith("0x"))
            {
                num1 = 16;
            }
            if (type1 == typeof(TimeSpan) || type == typeof(TimeSpan))
            {
                if (flag1)
                {
                    try
                    {
                        if (TimeSpan.Parse(str) == TimeSpan.Parse(str1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid timespan comparison : {0}", testString);
                    }
                }
                else if (flag2)
                {
                    try
                    {
                        if (TimeSpan.Parse(str) != TimeSpan.Parse(str1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid timespan comparison : {0}", testString);
                    }
                }
                else if (flag3)
                {
                    try
                    {
                        if (TimeSpan.Parse(str) > TimeSpan.Parse(str1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid timespan comparison : {0}", testString);
                    }
                }
                else if (flag4)
                {
                    try
                    {
                        if (TimeSpan.Parse(str) < TimeSpan.Parse(str1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid timespan comparison : {0}", testString);
                    }
                }
            }
            else if (type1 == typeof(DateTime) || type == typeof(DateTime))
            {
                if (flag1)
                {
                    try
                    {
                        if (DateTime.Parse(str) == DateTime.Parse(str1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid DateTime comparison : {0}", testString);
                    }
                }
                else if (flag2)
                {
                    try
                    {
                        if (DateTime.Parse(str) != DateTime.Parse(str1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid DateTime comparison : {0}", testString);
                    }
                }
                else if (flag3)
                {
                    try
                    {
                        if (DateTime.Parse(str) > DateTime.Parse(str1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid DateTime comparison : {0}", testString);
                    }
                }
                else if (flag4)
                {
                    try
                    {
                        if (DateTime.Parse(str) < DateTime.Parse(str1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid DateTime comparison : {0}", testString);
                    }
                }
            }
            else if (PropertyTest.IsNumeric(type1) && PropertyTest.IsNumeric(type))
            {
                if (flag1)
                {
                    try
                    {
                        if (Convert.ToInt64(str, num) == Convert.ToInt64(str1, num1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid int comparison : {0}", testString);
                    }
                }
                else if (flag2)
                {
                    try
                    {
                        if (Convert.ToInt64(str, num) != Convert.ToInt64(str1, num1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid int comparison : {0}", testString);
                    }
                }
                else if (flag3)
                {
                    try
                    {
                        if (Convert.ToInt64(str, num) > Convert.ToInt64(str1, num1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid int comparison : {0}", testString);
                    }
                }
                else if (flag4)
                {
                    try
                    {
                        if (Convert.ToInt64(str, num) < Convert.ToInt64(str1, num1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid int comparison : {0}", testString);
                    }
                }
            }
            else if (type1 == typeof(double) && PropertyTest.IsNumeric(type))
            {
                if (flag1)
                {
                    try
                    {
                        if ((double)Convert.ToInt64(str, num) == double.Parse(str1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid int comparison : {0}", testString);
                    }
                }
                else if (flag2)
                {
                    try
                    {
                        if ((double)Convert.ToInt64(str, num) != double.Parse(str1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid int comparison : {0}", testString);
                    }
                }
                else if (flag3)
                {
                    try
                    {
                        if ((double)Convert.ToInt64(str, num) > double.Parse(str1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid int comparison : {0}", testString);
                    }
                }
                else if (flag4)
                {
                    try
                    {
                        if ((double)Convert.ToInt64(str, num) < double.Parse(str1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid int comparison : {0}", testString);
                    }
                }
            }
            else if (type == typeof(double) && PropertyTest.IsNumeric(type1))
            {
                if (flag1)
                {
                    try
                    {
                        if (double.Parse(str) == (double)Convert.ToInt64(str1, num1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid int comparison : {0}", testString);
                    }
                }
                else if (flag2)
                {
                    try
                    {
                        if (double.Parse(str) != (double)Convert.ToInt64(str1, num1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid int comparison : {0}", testString);
                    }
                }
                else if (flag3)
                {
                    try
                    {
                        if (double.Parse(str) > (double)Convert.ToInt64(str1, num1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid int comparison : {0}", testString);
                    }
                }
                else if (flag4)
                {
                    try
                    {
                        if (double.Parse(str) < (double)Convert.ToInt64(str1, num1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid int comparison : {0}", testString);
                    }
                }
            }
            else if (type == typeof(double) && type1 == typeof(double))
            {
                if (flag1)
                {
                    try
                    {
                        if (double.Parse(str) == double.Parse(str1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid int comparison : {0}", testString);
                    }
                }
                else if (flag2)
                {
                    try
                    {
                        if (double.Parse(str) != double.Parse(str1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid int comparison : {0}", testString);
                    }
                }
                else if (flag3)
                {
                    try
                    {
                        if (double.Parse(str) > double.Parse(str1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid int comparison : {0}", testString);
                    }
                }
                else if (flag4)
                {
                    try
                    {
                        if (double.Parse(str) < double.Parse(str1))
                        {
                            flag = true;
                            return(flag);
                        }
                    }
                    catch
                    {
                        status_str = string.Concat("invalid int comparison : {0}", testString);
                    }
                }
            }
            else if (type1 == typeof(bool) && type == typeof(bool))
            {
                try
                {
                    if (Convert.ToBoolean(str) == Convert.ToBoolean(str1))
                    {
                        flag = true;
                        return(flag);
                    }
                }
                catch
                {
                    status_str = string.Concat("invalid bool comparison : {0}", testString);
                }
            }
            else if (type1 != typeof(double) && type1 != typeof(double))
            {
                if (flag1)
                {
                    if (str == str1)
                    {
                        return(true);
                    }
                }
                else if (flag2 && str != str1)
                {
                    return(true);
                }
            }
            else if (flag1)
            {
                try
                {
                    if (Convert.ToDouble(str) == Convert.ToDouble(str1))
                    {
                        flag = true;
                        return(flag);
                    }
                }
                catch
                {
                    status_str = string.Concat("invalid double comparison : {0}", testString);
                }
            }
            else if (flag2)
            {
                try
                {
                    if (Convert.ToDouble(str) != Convert.ToDouble(str1))
                    {
                        flag = true;
                        return(flag);
                    }
                }
                catch
                {
                    status_str = string.Concat("invalid double comparison : {0}", testString);
                }
            }
            else if (flag3)
            {
                try
                {
                    if (Convert.ToDouble(str) > Convert.ToDouble(str1))
                    {
                        flag = true;
                        return(flag);
                    }
                }
                catch
                {
                    status_str = string.Concat("invalid double comparison : {0}", testString);
                }
            }
            else if (flag4)
            {
                try
                {
                    if (Convert.ToDouble(str) < Convert.ToDouble(str1))
                    {
                        flag = true;
                        return(flag);
                    }
                }
                catch
                {
                    status_str = string.Concat("invalid double comparison : {0}", testString);
                }
            }
            return(false);
        }
Ejemplo n.º 6
0
        public static bool CheckSingleProperty(object o, string testString, out string status_str)
        {
            status_str = (string)null;
            if (o == null)
            {
                return(false);
            }
            string[] strArray = PropertyTest.ParseString(testString, 2, "=><!");
            if (strArray.Length < 2)
            {
                status_str = "invalid property string : " + testString;
                return(false);
            }
            bool flag1 = false;
            bool flag2 = false;
            bool flag3 = false;
            bool flag4 = false;

            if (testString.IndexOf("=") > 0)
            {
                flag1 = true;
            }
            else if (testString.IndexOf("!") > 0)
            {
                flag2 = true;
            }
            else if (testString.IndexOf(">") > 0)
            {
                flag3 = true;
            }
            else if (testString.IndexOf("<") > 0)
            {
                flag4 = true;
            }
            if (!flag1 && !flag3 && (!flag4 && !flag2))
            {
                return(false);
            }
            Type   ptype1;
            string s1 = PropertyTest.ParseForKeywords(o, strArray[0].Trim(), false, out ptype1);

            if (ptype1 == null)
            {
                status_str = strArray[0] + " : " + s1;
                return(false);
            }
            Type   ptype2;
            string s2 = PropertyTest.ParseForKeywords(o, strArray[1].Trim(), false, out ptype2);

            if (ptype2 == null)
            {
                status_str = strArray[1] + " : " + s2;
                return(false);
            }
            int fromBase1 = 10;
            int fromBase2 = 10;

            if (PropertyTest.IsNumeric(ptype1) && s1.StartsWith("0x"))
            {
                fromBase1 = 16;
            }
            if (PropertyTest.IsNumeric(ptype2) && s2.StartsWith("0x"))
            {
                fromBase2 = 16;
            }
            if (ptype2 == typeof(TimeSpan) || ptype1 == typeof(TimeSpan))
            {
                if (flag1)
                {
                    try
                    {
                        if (TimeSpan.Parse(s1) == TimeSpan.Parse(s2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid timespan comparison : {0}" + testString;
                    }
                }
                else if (flag2)
                {
                    try
                    {
                        if (TimeSpan.Parse(s1) != TimeSpan.Parse(s2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid timespan comparison : {0}" + testString;
                    }
                }
                else if (flag3)
                {
                    try
                    {
                        if (TimeSpan.Parse(s1) > TimeSpan.Parse(s2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid timespan comparison : {0}" + testString;
                    }
                }
                else if (flag4)
                {
                    try
                    {
                        if (TimeSpan.Parse(s1) < TimeSpan.Parse(s2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid timespan comparison : {0}" + testString;
                    }
                }
            }
            else if (ptype2 == typeof(DateTime) || ptype1 == typeof(DateTime))
            {
                if (flag1)
                {
                    try
                    {
                        if (DateTime.Parse(s1) == DateTime.Parse(s2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid DateTime comparison : {0}" + testString;
                    }
                }
                else if (flag2)
                {
                    try
                    {
                        if (DateTime.Parse(s1) != DateTime.Parse(s2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid DateTime comparison : {0}" + testString;
                    }
                }
                else if (flag3)
                {
                    try
                    {
                        if (DateTime.Parse(s1) > DateTime.Parse(s2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid DateTime comparison : {0}" + testString;
                    }
                }
                else if (flag4)
                {
                    try
                    {
                        if (DateTime.Parse(s1) < DateTime.Parse(s2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid DateTime comparison : {0}" + testString;
                    }
                }
            }
            else if (PropertyTest.IsNumeric(ptype2) && PropertyTest.IsNumeric(ptype1))
            {
                if (flag1)
                {
                    try
                    {
                        if (Convert.ToInt64(s1, fromBase1) == Convert.ToInt64(s2, fromBase2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid int comparison : {0}" + testString;
                    }
                }
                else if (flag2)
                {
                    try
                    {
                        if (Convert.ToInt64(s1, fromBase1) != Convert.ToInt64(s2, fromBase2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid int comparison : {0}" + testString;
                    }
                }
                else if (flag3)
                {
                    try
                    {
                        if (Convert.ToInt64(s1, fromBase1) > Convert.ToInt64(s2, fromBase2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid int comparison : {0}" + testString;
                    }
                }
                else if (flag4)
                {
                    try
                    {
                        if (Convert.ToInt64(s1, fromBase1) < Convert.ToInt64(s2, fromBase2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid int comparison : {0}" + testString;
                    }
                }
            }
            else if (ptype2 == typeof(double) && PropertyTest.IsNumeric(ptype1))
            {
                if (flag1)
                {
                    try
                    {
                        if ((double)Convert.ToInt64(s1, fromBase1) == double.Parse(s2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid int comparison : {0}" + testString;
                    }
                }
                else if (flag2)
                {
                    try
                    {
                        if ((double)Convert.ToInt64(s1, fromBase1) != double.Parse(s2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid int comparison : {0}" + testString;
                    }
                }
                else if (flag3)
                {
                    try
                    {
                        if ((double)Convert.ToInt64(s1, fromBase1) > double.Parse(s2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid int comparison : {0}" + testString;
                    }
                }
                else if (flag4)
                {
                    try
                    {
                        if ((double)Convert.ToInt64(s1, fromBase1) < double.Parse(s2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid int comparison : {0}" + testString;
                    }
                }
            }
            else if (ptype1 == typeof(double) && PropertyTest.IsNumeric(ptype2))
            {
                if (flag1)
                {
                    try
                    {
                        if (double.Parse(s1) == (double)Convert.ToInt64(s2, fromBase2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid int comparison : {0}" + testString;
                    }
                }
                else if (flag2)
                {
                    try
                    {
                        if (double.Parse(s1) != (double)Convert.ToInt64(s2, fromBase2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid int comparison : {0}" + testString;
                    }
                }
                else if (flag3)
                {
                    try
                    {
                        if (double.Parse(s1) > (double)Convert.ToInt64(s2, fromBase2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid int comparison : {0}" + testString;
                    }
                }
                else if (flag4)
                {
                    try
                    {
                        if (double.Parse(s1) < (double)Convert.ToInt64(s2, fromBase2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid int comparison : {0}" + testString;
                    }
                }
            }
            else if (ptype1 == typeof(double) && ptype2 == typeof(double))
            {
                if (flag1)
                {
                    try
                    {
                        if (double.Parse(s1) == double.Parse(s2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid int comparison : {0}" + testString;
                    }
                }
                else if (flag2)
                {
                    try
                    {
                        if (double.Parse(s1) != double.Parse(s2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid int comparison : {0}" + testString;
                    }
                }
                else if (flag3)
                {
                    try
                    {
                        if (double.Parse(s1) > double.Parse(s2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid int comparison : {0}" + testString;
                    }
                }
                else if (flag4)
                {
                    try
                    {
                        if (double.Parse(s1) < double.Parse(s2))
                        {
                            return(true);
                        }
                    }
                    catch
                    {
                        status_str = "invalid int comparison : {0}" + testString;
                    }
                }
            }
            else
            {
                if (ptype2 == typeof(bool))
                {
                    if (ptype1 == typeof(bool))
                    {
                        try
                        {
                            if (Convert.ToBoolean(s1) == Convert.ToBoolean(s2))
                            {
                                return(true);
                            }
                            goto label_151;
                        }
                        catch
                        {
                            status_str = "invalid bool comparison : {0}" + testString;
                            goto label_151;
                        }
                    }
                }
                if (ptype2 == typeof(double) || ptype2 == typeof(double))
                {
                    if (flag1)
                    {
                        try
                        {
                            if (Convert.ToDouble(s1) == Convert.ToDouble(s2))
                            {
                                return(true);
                            }
                        }
                        catch
                        {
                            status_str = "invalid double comparison : {0}" + testString;
                        }
                    }
                    else if (flag2)
                    {
                        try
                        {
                            if (Convert.ToDouble(s1) != Convert.ToDouble(s2))
                            {
                                return(true);
                            }
                        }
                        catch
                        {
                            status_str = "invalid double comparison : {0}" + testString;
                        }
                    }
                    else if (flag3)
                    {
                        try
                        {
                            if (Convert.ToDouble(s1) > Convert.ToDouble(s2))
                            {
                                return(true);
                            }
                        }
                        catch
                        {
                            status_str = "invalid double comparison : {0}" + testString;
                        }
                    }
                    else if (flag4)
                    {
                        try
                        {
                            if (Convert.ToDouble(s1) < Convert.ToDouble(s2))
                            {
                                return(true);
                            }
                        }
                        catch
                        {
                            status_str = "invalid double comparison : {0}" + testString;
                        }
                    }
                }
                else if (flag1)
                {
                    if (s1 == s2)
                    {
                        return(true);
                    }
                }
                else if (flag2 && s1 != s2)
                {
                    return(true);
                }
            }
label_151:
            return(false);
        }