Kellerman Software Logo

Project Description
What you have been waiting for. Perform a deep compare of any two .NET objects using reflection. Shows the differences between the two objects.

Compatible with .NET Framework 3.5 and higher. New in 2.0, portable Class Library version works with .NET 4.0+, Silverlight 5+, Windows Phone 8+, Windows RT 8+, Xamarin iOS, and Xamarin Droid

NuGet Package

  • Compare Children (on by default)
  • Handling for Trees with Children Pointing To Parents
  • Compare Primitive Types
  • Compare Structs
  • Compare IList Objects
  • Compare Single and Multi-Dimensional Arrays
  • Compare IDictionary Objects
  • Compare Publicly visible Class Fields and Properties
  • Compare Private Fields and Properties (off by default)
  • Compare Enums
  • Compare Timespans
  • Compare Guids
  • Compare Classes that Implement IList with Indexers
  • Compare DataSet Data
  • Compare DataTable Data
  • Compare DataRow Data
  • Compare LinearGradient
  • Compare HashSet
  • Compare URI
  • Compare IPEndPoint
  • Compare Types of Type (RuntimeType)
  • Source code in C#
  • NUnit Test Project Included
  • Ability to load settings from a config file for use with powershell
  • Several configuration options for comparing private elements, ignoring specific elements, including specific elements.
  • Property and Field Info reflection caching for increased performance
  • Rich Differences List or simple DifferencesString
  • Supports custom comparison functions
  • ElapsedMilliseconds indicates how long the comparison took
  • Ability to IgnoreCollectionOrder
  • Thread Safe new in 2.0
  • Ability to pass in the configuration new in 2.0
  • Ability to ignore indexer comparison new in 2.0
  • Interface member filtering new in 2.0
  • Ability to treat string.empty and null as equal new in 2.0

Last edited Mar 15 at 1:14 PM by gfinzer, version 22