本文整理汇总了C#中Interval.NumberOfNoteNames方法的典型用法代码示例。如果您正苦于以下问题:C# Interval.NumberOfNoteNames方法的具体用法?C# Interval.NumberOfNoteNames怎么用?C# Interval.NumberOfNoteNames使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Interval
的用法示例。
在下文中一共展示了Interval.NumberOfNoteNames方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddInterval
/// <summary>
/// Add an interval to this representation.
/// </summary>
/// <param name="interval">The interval to add.</param>
/// <param name="direction">Which direction to go - up or down.</param>
/// <returns>Null if there is no supported enharmonically correct representation of the requested interval. For example,
/// adding a minor second to a Bb should return a Cb, but this is not supported so the result will be null. If there is
/// a valid representation (for example, A# plus a minor second correctly yields B) it will be returned.</returns>
public NoteRepresentation AddInterval(Interval interval, IntervalDirection direction = IntervalDirection.Up)
{
var coefficient = direction == IntervalDirection.Up ? 1 : -1;
var newNoteNumber = this.Note.Number + (interval.NumberOfSemitones() * coefficient);
var newNoteName = this.Name.AddNoteNames(interval.NumberOfNoteNames() * coefficient);
var result = new Note(newNoteNumber).GetRepresentations().SingleOrDefault(r => r.Name == newNoteName);
return result;
}