Помощь с полями

Мне нужно сделать так чтоб я смог получить значение Name класса Worker через класс Team без static полей, есть такая возможность?

{
    interface IWorker
    {
        public string Name { get; }
    }
    public class Team
    {
        public Team(List<Worker> w)
        {
            WS = w;
        }
        public Team(List<Worker> w, TeamLeader tl)
        {
            WS = w;
            TL = tl;
        }

        public TeamLeader TL { get; set; }
        public List<Worker> WS { get; set; }
        public List<string> report = new List<string>();
    }
    public class Worker : IWorker
    {
        public Worker(string name)
        {
            Name = name;
        }

        public string Name { get; set; }
        string IWorker.Name => Name;
    }
    public class TeamLeader : IWorker
    {
        public TeamLeader(string name)
        {
            Name = name;
        }

        public static string Name { get; set; }
        string IWorker.Name => Name;
    }
}

Ответы (1 шт):

Автор решения: Aiganysh Talantbekova

Вы уже можете это сделать, т.к. определили в классе Team лист из Worker. Поэтому чтобы вытащить имена игроков вы просто пропускаете его через foreach и обращаетесь к свойству Name:

foreach(var worker in Team.WS)
{
    Console.WriteLine(worker.Name);
}

И если вы не против я пожалуй скажу, что можно для капитана команды можно использовать тот же класс Worker, только добавить к класс булево поле IsCaptain, которое помечается true или false в зависимости от того, капитан о или нет.

→ Ссылка