Skip to content

Commit 465b715

Browse files
committed
Simplify sample for extremely concise menus
1 parent e868b26 commit 465b715

File tree

1 file changed

+10
-14
lines changed

1 file changed

+10
-14
lines changed

tests/ProofOfConcepts/Program.Admin.cs

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ private static void CreateItemsInternal(this IMenu menu, IMenuAPI api, MenuItems
150150
}
151151
}
152152

153-
public class MenuItems : IList<MenuItems>
153+
public class MenuItems : ICollection<MenuItems>
154154
{
155155
public string Title { get; }
156156
public bool Exit { get; }
@@ -167,18 +167,14 @@ public MenuItems(string title, bool exit = true, ItemSelectedAction? action = nu
167167
}
168168

169169

170-
public MenuItems this[int index] { get => ((IList<MenuItems>)Items)[index]; set => ((IList<MenuItems>)Items)[index] = value; }
171-
int ICollection<MenuItems>.Count => ((ICollection<MenuItems>)Items).Count;
172-
public bool IsReadOnly => ((ICollection<MenuItems>)Items).IsReadOnly;
173-
public void Add(MenuItems item) => ((ICollection<MenuItems>)Items).Add(item);
174-
public void Clear() => ((ICollection<MenuItems>)Items).Clear();
175-
public bool Contains(MenuItems item) => ((ICollection<MenuItems>)Items).Contains(item);
176-
public void CopyTo(MenuItems[] array, int arrayIndex) => ((ICollection<MenuItems>)Items).CopyTo(array, arrayIndex);
177-
public IEnumerator<MenuItems> GetEnumerator() => ((IEnumerable<MenuItems>)Items).GetEnumerator();
178-
public int IndexOf(MenuItems item) => ((IList<MenuItems>)Items).IndexOf(item);
179-
public void Insert(int index, MenuItems item) => ((IList<MenuItems>)Items).Insert(index, item);
180-
public bool Remove(MenuItems item) => ((ICollection<MenuItems>)Items).Remove(item);
181-
public void RemoveAt(int index) => ((IList<MenuItems>)Items).RemoveAt(index);
182-
IEnumerator IEnumerable.GetEnumerator() => ((IEnumerable)Items).GetEnumerator();
170+
int ICollection<MenuItems>.Count => Items.Count;
171+
public bool IsReadOnly => false;
172+
public void Add(MenuItems item) => Items.Add(item);
173+
public void Clear() => Items.Clear();
174+
public bool Contains(MenuItems item) => Items.Contains(item);
175+
public void CopyTo(MenuItems[] array, int arrayIndex) => Items.CopyTo(array, arrayIndex);
176+
public IEnumerator<MenuItems> GetEnumerator() => Items.GetEnumerator();
177+
public bool Remove(MenuItems item) => Items.Remove(item);
178+
IEnumerator IEnumerable.GetEnumerator() => Items.GetEnumerator();
183179
}
184180
}

0 commit comments

Comments
 (0)