public int Compare(KeyHashTag x, KeyHashTag y) { if (Equals(x, y)) { return(Equal); } if (x == null) { return(Higher); } if (y == null) { return(Lower); } if (x.Key == y.Key) { return(Equal); } foreach (var key in CircleOfFifths.AllKeys) { if (key == x.Key) { return(Lower); } else if (key == y.Key) { return(Higher); } } throw new InvalidOperationException("Must allways return in code above"); }
private Entry BuildEntry(Note newNote, Tone newTone) { var hashTag = new KeyHashTag(new Key(newNote, newTone), hashTagMetaValue); return(new Entry(hashTag, startIndex, hashTagEntry.Length)); }