using System.Collections.Generic;
public enum DashboardColumnType
public record DashboardTableColumn(string ColumnName, string DisplayName, DashboardColumnType ColumnType);
public record DashboardTableColumnWithOptions(string ColumnName, string DisplayName, List<string> Options) : DashboardTableColumn(ColumnName, DisplayName, DashboardColumnType.Select);
public static void Main()
Console.WriteLine("Hello World");
var a = new DashboardTableColumn("TaskName", "Task Name", DashboardColumnType.Text);
var b = new DashboardTableColumnWithOptions("Status", "Status", ["All", "Assigned", "Not Assigned", "Deferred", "Locked", "Template Defn", "Recurring Defn"]);
var c = b with { DisplayName = "Status stuff" };