GenericHeld.cs 574 B

12345678910111213141516171819
  1. #nullable enable
  2. namespace Terminal.Gui;
  3. /// <summary>
  4. /// Implementation of <see cref="IHeld"/> for <see cref="AnsiResponseParser{T}"/>
  5. /// </summary>
  6. /// <typeparam name="T"></typeparam>
  7. internal class GenericHeld<T> : IHeld
  8. {
  9. private readonly List<Tuple<char, T>> held = new ();
  10. public void ClearHeld () { held.Clear (); }
  11. public string HeldToString () { return new (held.Select (h => h.Item1).ToArray ()); }
  12. public IEnumerable<object> HeldToObjects () { return held; }
  13. public void AddToHeld (object o) { held.Add ((Tuple<char, T>)o); }
  14. }