Example #1
0
        public static bool CompareWith(this object valueTest, CompareWithAdditionalComparer additionalComparer, bool performParse, params object[] values)
        {
            foreach (var value in values)
            {
                if (value is string && valueTest is string && ((string)valueTest) == ((string)value))
                {
                    return(true);
                }
                else if (value is DateTime && valueTest is DateTime && ((DateTime)valueTest) == ((DateTime)value))
                {
                    return(true);
                }
                else if (value is Guid && valueTest is Guid && ((Guid)valueTest) == ((Guid)value))
                {
                    return(true);
                }
                else if (value.GetType().IsEnum&& valueTest.GetType().IsEnum&& valueTest.Equals(value))
                {
                    return(true);
                }
                else if (value is int && valueTest is int && ((int)valueTest) == ((int)value))
                {
                    return(true);
                }
                else if (value is uint && valueTest is uint && ((uint)valueTest) == ((uint)value))
                {
                    return(true);
                }
                else if (value is BigInteger && valueTest is BigInteger && ((BigInteger)valueTest) == ((BigInteger)value))
                {
                    return(true);
                }
                else if (value is Color && valueTest is Color && ((Color)valueTest).ToArgb() == ((Color)value).ToArgb())
                {
                    return(true);
                }
                else if (value is char && valueTest is char && ((char)valueTest) == ((char)value))
                {
                    return(true);
                }
                else if (value is Type && valueTest is Type)
                {
                    var type     = (Type)value;
                    var typeTest = (Type)valueTest;

                    if (type == typeTest)
                    {
                        return(true);
                    }
                    else if (type.IsOrInheritsFrom(typeTest))
                    {
                        return(true);
                    }
                    else if (typeTest.IsOrInheritsFrom(type))
                    {
                        return(true);
                    }
                }
                else if (value == valueTest || value.Equals(valueTest))
                {
                    return(true);
                }
            }

            return(false);
        }
Example #2
0
 public static bool CompareWith(this object value, CompareWithAdditionalComparer additionalComparer, params object[] values)
 {
     return(CompareWith(value, null, false, values));
 }