| File: XmlName.cs | Web Access |
| Project: src\src\Controls\src\Xaml\Controls.Xaml.csproj (Microsoft.Maui.Controls.Xaml) |
#nullable disable using System; using System.Diagnostics; namespace Microsoft.Maui.Controls.Xaml { [DebuggerDisplay("{NamespaceURI}:{LocalName}")] internal struct XmlName { public static readonly XmlName _CreateContent = new XmlName("_", "CreateContent"); public static readonly XmlName xKey = new XmlName("x", "Key"); public static readonly XmlName xName = new XmlName("x", "Name"); public static readonly XmlName xTypeArguments = new XmlName("x", "TypeArguments"); public static readonly XmlName xArguments = new XmlName("x", "Arguments"); public static readonly XmlName xFactoryMethod = new XmlName("x", "FactoryMethod"); public static readonly XmlName xDataType = new XmlName("x", "DataType"); public static readonly XmlName Empty = new XmlName(); public string NamespaceURI { get; } public string LocalName { get; } public XmlName(string namespaceUri, string localName) { NamespaceURI = namespaceUri; LocalName = localName; } public override bool Equals(object obj) { if (obj == null) return false; if (obj.GetType() != typeof(XmlName)) return false; var other = (XmlName)obj; return NamespaceURI == other.NamespaceURI && LocalName == other.LocalName; } public bool Equals(string namespaceUri, string localName) => Equals(new XmlName(namespaceUri, localName)); public override int GetHashCode() { unchecked { int hashCode = 0; #if NETSTANDARD2_0 if (NamespaceURI != null) hashCode = NamespaceURI.GetHashCode(); if (LocalName != null) hashCode = (hashCode * 397) ^ LocalName.GetHashCode(); #else if (NamespaceURI != null) hashCode = NamespaceURI.GetHashCode(StringComparison.Ordinal); if (LocalName != null) hashCode = (hashCode * 397) ^ LocalName.GetHashCode(StringComparison.Ordinal); #endif return hashCode; } } public static bool operator ==(XmlName x1, XmlName x2) => x1.NamespaceURI == x2.NamespaceURI && x1.LocalName == x2.LocalName; public static bool operator !=(XmlName x1, XmlName x2) => !(x1 == x2); } }