Table of Contents

Class Instrument<TChord>

Namespace
ChartTools
Assembly
ChartTools.dll

Set of tracks common to an instrument

public abstract record Instrument<TChord> : Instrument, IEmptyVerifiable, IEquatable<Instrument>, IEquatable<Instrument<TChord>> where TChord : IChord

Type Parameters

TChord
Inheritance
Instrument<TChord>
Implements
Derived
Inherited Members
Extension Methods

Properties

Easy

Easy track

public Track<TChord>? Easy { get; set; }

Property Value

Track<TChord>

Expert

Expert track

public Track<TChord>? Expert { get; set; }

Property Value

Track<TChord>

Hard

Hard track

public Track<TChord>? Hard { get; set; }

Property Value

Track<TChord>

Medium

Medium track

public Track<TChord>? Medium { get; set; }

Property Value

Track<TChord>

Methods

CreateTrack(Difficulty)

Creates a track

public override Track<TChord> CreateTrack(Difficulty difficulty)

Parameters

difficulty Difficulty

Difficulty of the track

Returns

Track<TChord>

GetEasy()

protected override Track<TChord>? GetEasy()

Returns

Track<TChord>

GetExistingTracks()

Creates an array containing all tracks with data.

public override IEnumerable<Track<TChord>> GetExistingTracks()

Returns

IEnumerable<Track<TChord>>

GetExpert()

protected override Track<TChord>? GetExpert()

Returns

Track<TChord>

GetHard()

protected override Track<TChord>? GetHard()

Returns

Track<TChord>

GetMedium()

protected override Track<TChord>? GetMedium()

Returns

Track<TChord>

GetTrack(Difficulty)

Gets the Track<TChord> that matches a Difficulty

public override Track<TChord>? GetTrack(Difficulty difficulty)

Parameters

difficulty Difficulty

Returns

Track<TChord>

GetTracks()

Creates an array containing all tracks.

public override Track<TChord>?[] GetTracks()

Returns

Track<TChord>[]

RemoveTrack(Difficulty)

Removes a track.

public override bool RemoveTrack(Difficulty difficulty)

Parameters

difficulty Difficulty

Difficulty of the target track

Returns

bool

SetTrack(Track<TChord>)

Sets a track for a given Difficulty.

public Track<TChord> SetTrack(Track<TChord> track)

Parameters

track Track<TChord>

Returns

Track<TChord>

Track instance assigned to the instrument. Changed made to the passed reference will not be reflected in the instrument.

Exceptions

ArgumentNullException
UndefinedEnumException