AngleSharp by Florian Rappl

<PackageReference Include="AngleSharp" Version="0.8.1" />

.NET API 1,172,480 bytes

 CssBackgroundImageProperty

More information available at: https://developer.mozilla.org/en-US/docs/Web/CSS/background-image
using AngleSharp.Css; using AngleSharp.Css.Values; using AngleSharp.Extensions; using System.Collections.Generic; namespace AngleSharp.Dom.Css { internal sealed class CssBackgroundImageProperty : CssProperty, ICssBackgroundImageProperty, ICssProperty { internal static readonly IImageSource[] Default = new IImageSource[0]; internal static readonly IValueConverter<IImageSource> SingleConverter = Converters.ImageSourceConverter; internal static readonly IValueConverter<IImageSource[]> Converter = SingleConverter.FromList().Or(Keywords.None, Default); private readonly List<IImageSource> _images; public IEnumerable<IImageSource> Images => _images; internal CssBackgroundImageProperty(CssStyleDeclaration rule) : base(PropertyNames.BackgroundImage, rule, PropertyFlags.None) { _images = new List<IImageSource>(); } public void SetImages(IEnumerable<IImageSource> images) { _images.Clear(); _images.AddRange(images); } internal override void Reset() { _images.Clear(); _images.AddRange(Default); } protected override bool IsValid(ICssValue value) { return Converter.TryConvert(value, SetImages); } } }