Пример #1
0
        public static bool CheckPropertyString(object o, string testString, out string status_str)
        {
            status_str = null;
            if (o == null)
            {
                return(false);
            }
            if (testString == null || testString.Length < 1)
            {
                status_str = "Null property test string";
                return(false);
            }
            string[] strArrays = PropertyTest.ParseString(testString, 2, "&|");
            if ((int)strArrays.Length < 2)
            {
                return(PropertyTest.CheckSingleProperty(o, testString, out status_str));
            }
            bool flag  = PropertyTest.CheckSingleProperty(o, strArrays[0], out status_str);
            bool flag1 = PropertyTest.CheckPropertyString(o, strArrays[1], out status_str);
            int  num   = testString.IndexOf("&");
            int  num1  = testString.IndexOf("|");

            if (num > 0 && num1 <= 0 || num > 0 && num < num1)
            {
                if (flag)
                {
                    return(flag1);
                }
                return(false);
            }
            if ((num1 <= 0 || num > 0) && (num1 <= 0 || num1 >= num))
            {
                return(false);
            }
            if (!flag)
            {
                return(flag1);
            }
            return(true);
        }