示例#1
0
        public EqualityTester(T targetObject)
        {
            this.TargetObject = targetObject;
            this.Analysis     = TypeAnalysis <T> .Analyze();

            this.Rules.AddRange(this.Analysis.TypeLevelRules);

            if (!typeof(T).IsValueType)
            {
                this.Rules.AddRange(this.Analysis.GetNotEqualRules(TargetObject, default(T), "inequality to null"));
                this.Rules.AddRange(this.Analysis.GetEqualityOfTwoNulls());
            }
        }