using System; internal static class Program { private static void Main(string[] args) { SessionFormat[] formats = { new InPerson(), new Remote() }; foreach (SessionFormat format in formats) Console.WriteLine(format.Description()); } } internal abstract class SessionFormat { protected abstract string Location { get; } public string Description() => "Workshop: " + Location; } internal sealed class InPerson : SessionFormat { protected override string Location => "Studio"; } internal sealed class Remote : SessionFormat { protected override string Location => "Online"; }