IHasAlbumArtist.cs 850 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma warning disable CS1591
  2. using System.Collections.Generic;
  3. namespace MediaBrowser.Controller.Entities.Audio
  4. {
  5. public interface IHasAlbumArtist
  6. {
  7. IReadOnlyList<string> AlbumArtists { get; set; }
  8. }
  9. public interface IHasArtist
  10. {
  11. /// <summary>
  12. /// Gets or sets the artists.
  13. /// </summary>
  14. /// <value>The artists.</value>
  15. IReadOnlyList<string> Artists { get; set; }
  16. }
  17. public static class Extentions
  18. {
  19. public static IEnumerable<string> GetAllArtists<T>(this T item)
  20. where T : IHasArtist, IHasAlbumArtist
  21. {
  22. foreach (var i in item.AlbumArtists)
  23. {
  24. yield return i;
  25. }
  26. foreach (var i in item.Artists)
  27. {
  28. yield return i;
  29. }
  30. }
  31. }
  32. }