/// <summary> /// Illustrates caching for methods with complex comparable arguments. /// </summary> /// <param name="service"></param> private static void ComplexTypeTest(IMyService service) { var sharedObject = new ComplexType { Name = "Isaac", Age = 32 }; var referenceType = service.ComplexTypeArgument(sharedObject); Console.WriteLine(); referenceType = service.ComplexTypeArgument(sharedObject); Console.WriteLine(); var differentObject = service.ComplexTypeArgument(new ComplexType { Name = "Isaac", Age = 32 }); Console.WriteLine(); var differentValues = service.ComplexTypeArgument(new ComplexType { Name = "Isaaced", Age = 35 }); Console.WriteLine(); }