internal TreeNode(string name, string path, IContainer container, FieldFormattableString format, string?midiNotePath, IReadOnlyList <TreeNode> children, IReadOnlyList <INodeDetail> details) { (Name, Path, Container, Format, MidiNotePath, Children, Details) = (name, path, container, format, midiNotePath, children, details); foreach (TreeNode node in Children) { node.Parent = this; } }
internal TreeNode(string name, string path, IContainer container, FieldFormattableString format, string?midiNotePath, IReadOnlyList <TreeNode> children, IReadOnlyList <INodeDetail> details) { (Name, Path, Container, Format, MidiNotePath, Children, Details) = (name, path, container, format, midiNotePath, children, details); childrenByName = Children.ToDictionary(node => node.Name, StringComparer.Ordinal); foreach (TreeNode node in Children) { node.Parent = this; } }