JumpItemsRejectedEventArgs.cs 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. using System;
  2. using System.Collections.Generic;
  3. namespace Microsoft.Windows.Shell;
  4. public sealed class JumpItemsRejectedEventArgs : EventArgs
  5. {
  6. public JumpItemsRejectedEventArgs() : this(null, null)
  7. {
  8. }
  9. public JumpItemsRejectedEventArgs(IList<JumpItem> rejectedItems, IList<JumpItemRejectionReason> reasons)
  10. {
  11. if ((rejectedItems == null && reasons != null) || (reasons == null && rejectedItems != null) || (rejectedItems != null && reasons != null && rejectedItems.Count != reasons.Count))
  12. {
  13. throw new ArgumentException("The counts of rejected items doesn't match the count of reasons.");
  14. }
  15. if (rejectedItems != null)
  16. {
  17. this.RejectedItems = new List<JumpItem>(rejectedItems).AsReadOnly();
  18. this.RejectionReasons = new List<JumpItemRejectionReason>(reasons).AsReadOnly();
  19. return;
  20. }
  21. this.RejectedItems = new List<JumpItem>().AsReadOnly();
  22. this.RejectionReasons = new List<JumpItemRejectionReason>().AsReadOnly();
  23. }
  24. public IList<JumpItem> RejectedItems { get; private set; }
  25. public IList<JumpItemRejectionReason> RejectionReasons { get; private set; }
  26. }