Beispiel #1
0
        /// <summary>
        /// Add all properties to a comparer.
        /// </summary>
        /// <param name="compare">Comparer to use</param>
        /// <param name="type">Type to use</param>
        /// <param name="flags">Binding flags to use, default to Public properties</param>
        public static void AutoCheck(this ICheckerCompare compare, Type type, BindingFlags flags = BindingFlags.Public)
        {
            // Only get directly declared properties - parent will have own checker
            var properties = type.GetProperties(flags | BindingFlags.DeclaredOnly | BindingFlags.Instance);

            compare.AutoCheck(properties);
        }
Beispiel #2
0
        /// <summary>
        /// Add properties to a comparer.
        /// </summary>
        /// <param name="compare">Comparer to use</param>
        /// <param name="properties">Properties to add</param>
        public static void AutoCheck(this ICheckerCompare compare, IEnumerable <PropertyInfo> properties)
        {
            // Setup the comparisons
            foreach (var prop in properties)
            {
                // Exclude indexers
                var x = prop.GetIndexParameters();
                if (x.GetLength(0) != 0)
                {
                    continue;
                }

                compare.Compare(prop);
            }
        }