/// <summary> /// Compares two instances of this object. /// </summary> /// <param name="QRCodeIdentification">An QR code identification with (hashed) pin object to compare with.</param> public Int32 CompareTo(QRCodeIdentification QRCodeIdentification) { if ((Object)QRCodeIdentification == null) { throw new ArgumentNullException(nameof(QRCodeIdentification), "The given QR code identification with (hashed) pin must not be null!"); } var result = EVCOId.CompareTo(QRCodeIdentification.EVCOId); if (result == 0) { result = String.Compare(PIN, QRCodeIdentification.PIN, StringComparison.OrdinalIgnoreCase); } if (result == 0) { result = Function.CompareTo(QRCodeIdentification.Function); } if (result == 0) { result = String.Compare(Salt, QRCodeIdentification.Salt, StringComparison.OrdinalIgnoreCase); } return(result); }