HandlesToClose.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using System;
  2. namespace Ryujinx.Horizon.Sdk.Sf.Cmif
  3. {
  4. struct HandlesToClose
  5. {
  6. private int _handle0;
  7. private int _handle1;
  8. private int _handle2;
  9. private int _handle3;
  10. private int _handle4;
  11. private int _handle5;
  12. private int _handle6;
  13. private int _handle7;
  14. public int Count;
  15. public int this[int index]
  16. {
  17. get
  18. {
  19. return index switch
  20. {
  21. 0 => _handle0,
  22. 1 => _handle1,
  23. 2 => _handle2,
  24. 3 => _handle3,
  25. 4 => _handle4,
  26. 5 => _handle5,
  27. 6 => _handle6,
  28. 7 => _handle7,
  29. _ => throw new IndexOutOfRangeException()
  30. };
  31. }
  32. set
  33. {
  34. switch (index)
  35. {
  36. case 0: _handle0 = value; break;
  37. case 1: _handle1 = value; break;
  38. case 2: _handle2 = value; break;
  39. case 3: _handle3 = value; break;
  40. case 4: _handle4 = value; break;
  41. case 5: _handle5 = value; break;
  42. case 6: _handle6 = value; break;
  43. case 7: _handle7 = value; break;
  44. default: throw new IndexOutOfRangeException();
  45. }
  46. }
  47. }
  48. }
  49. }