AngleSharp by Florian Rappl

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

.NET API 1,176,064 bytes

 Attr

sealed class Attr : IAttr, IEquatable<IAttr>
Represents a generic node attribute.
using AngleSharp.Html; using System; using System.Diagnostics; namespace AngleSharp.Dom { [DebuggerStepThrough] internal sealed class Attr : IAttr, IEquatable<IAttr> { private readonly Element _container; private readonly string _localName; private readonly string _prefix; private readonly string _namespace; private string _value; public string Prefix => _prefix; public bool IsId { get { if (_prefix == null) return _localName.Equals(AttributeNames.Id, StringComparison.OrdinalIgnoreCase); return false; } } public bool Specified => !string.IsNullOrEmpty(_value); public string Name { get { if (_prefix != null) return _prefix + ":" + _localName; return _localName; } } public string Value { get { return _value; } set { string value2 = _value; _value = value; _container.AttributeChanged(_localName, _namespace, value2, false); } } public string LocalName => _localName; public string NamespaceUri => _namespace; internal Attr(Element container, string localName) : this(container, localName, string.Empty) { } internal Attr(Element container, string localName, string value) { _container = container; _localName = localName; _value = value; } internal Attr(Element container, string prefix, string localName, string value, string namespaceUri) { _prefix = prefix; _localName = localName; _container = container; _value = value; _namespace = namespaceUri; } public bool Equals(IAttr other) { if (other != this) { if (_value == other.Value) return _localName == other.Name; return false; } return true; } } }