public int CompareTo(VersionInfo other) { if (other == null) { return(1); } if (ReferenceEquals(this, other)) { return(0); } if (!other.ComponentName.Equals(ComponentName)) { return(ComponentName.CompareTo(other.ComponentName)); } if (Major != other.Major) { return(Major.CompareTo(other.Major)); } if (Minor != other.Minor) { return(Minor.CompareTo(other.Minor)); } if (Build != other.Build) { return(Build.CompareTo(other.Build)); } return(Minor.CompareTo(other.Revision)); }