public override bool Equals(object o) { if (this == o) { return(true); } if (o == null) { return(false); } RootImplementation that = (RootImplementation)o; if (that.aDouble != aDouble) { return(false); } if (anInt != that.anInt) { return(false); } if (anInterface != null ? !anInterface.Equals(that.anInterface) : that.anInterface != null) { return(false); } if (optionalString != null ? !optionalString.Equals(that.optionalString) : that.optionalString != null) { return(false); } if (requiredString != null ? !requiredString.Equals(that.requiredString) : that.requiredString != null) { return(false); } if (injectableClass != null ? !injectableClass.Equals(that.injectableClass) : that.injectableClass != null) { return(false); } if (setOfImplementations != null ? !setOfImplementations.Equals(that.setOfImplementations) : that.setOfImplementations != null) { return(false); } if (setOfBaseTypes != null ? !setOfBaseTypes.Equals(that.setOfBaseTypes) : that.setOfBaseTypes != null) { return(false); } //TODO: to recover once Avro NuGet support it //if (listOfBaseTypes != null ? !listOfBaseTypes.Equals(that.listOfBaseTypes) : that.listOfBaseTypes != null) //{ // return false; //} if (cyclicDependency != null ? !cyclicDependency.Equals(that.cyclicDependency) : that.cyclicDependency != null) { return(false); } return(true); }