IEnumerable <ControlType> GetControlTypes() { yield return(ControlType.Create <Drawable>(c => c.Size = new Size(100, 20))); yield return(ControlType.Create <Label>(set: (c, v) => c.Text = v, getTextColor: c => c.TextColor, setTextColor: (c, v) => c.TextColor = v)); yield return(ControlType.Create <TextBox>(set: (c, v) => c.Text = v, getTextColor: c => c.TextColor, setTextColor: (c, v) => c.TextColor = v)); yield return(ControlType.Create <TextArea>(set: (c, v) => c.Text = v, getTextColor: c => c.TextColor, setTextColor: (c, v) => c.TextColor = v)); yield return(ControlType.Create <DropDown>(c => c.DataStore = new[] { "Item 1", "Item 2", "Item 3" })); yield return(ControlType.Create <LinkButton>(set: (c, v) => c.Text = v, getTextColor: c => c.TextColor, setTextColor: (c, v) => c.TextColor = v)); }