using System.Collections.Generic; using Model.Dice.Faces; namespace Model.Dice { public abstract class AbstractDie where T : AbstractDieFace { protected string Name; public IEnumerable ListFaces => listFaces; private readonly List listFaces = new(); public AbstractDie(string name, params T[] faces) { Name = name; listFaces.AddRange(faces); } public string GetName() => Name; public abstract AbstractDieFace GetRandomFace(); public List GetDieFaces() { return (List)ListFaces; } } }