using System.Collections.Generic;
public static void Main()
var classAs = new List<MyClassA>
var otherClassAs = new List<MyClassA>
var classBs = new List<MyClassB>
Console.WriteLine($"classAs.IsDeepEqual(otherClassAs)? {classAs.IsDeepEqual(otherClassAs)}");
Console.WriteLine($"classAs.IsDeepEqual(classBs)? {classAs.IsDeepEqual(classBs)}");
var aa = new MyClassA("ha");
var ab = new MyClassA("ha2");
var comparison = new ComparisonBuilder().ExposeInternalsOf<MyClassA>().Create();
Console.WriteLine($"aa.IsDeepEqual(ab)? {aa.IsDeepEqual(ab, comparison)}");
private string _thisIsPrivate;
public MyClassA(string privateData)
_thisIsPrivate = privateData;
public int PropertyA { get; set; }
public string FunnyText { get; set; }
public int PropertyA { get; set; }