<PackageReference Include="System.Drawing.Common" Version="10.0.0-preview.6.25358.103" />

VARIANT_BOOL

using System; using System.CodeDom.Compiler; using System.Diagnostics; using System.Runtime.CompilerServices; namespace Windows.Win32.Foundation { [DebuggerDisplay("{Value}")] [GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")] internal readonly struct VARIANT_BOOL : IEquatable<VARIANT_BOOL> { internal readonly short Value; internal static readonly VARIANT_BOOL VARIANT_TRUE = (VARIANT_BOOL)(short)(-1); internal static readonly VARIANT_BOOL VARIANT_FALSE = (VARIANT_BOOL)(short)0; internal VARIANT_BOOL(short value) { Value = value; } public static implicit operator short(VARIANT_BOOL value) { return value.Value; } public static explicit operator VARIANT_BOOL(short value) { return new VARIANT_BOOL(value); } public static bool operator ==(VARIANT_BOOL left, VARIANT_BOOL right) { return left.Value == right.Value; } public static bool operator !=(VARIANT_BOOL left, VARIANT_BOOL right) { return !(left == right); } public bool Equals(VARIANT_BOOL other) { return Value == other.Value; } public override bool Equals(object obj) { if (obj is VARIANT_BOOL) { VARIANT_BOOL other = (VARIANT_BOOL)obj; return Equals(other); } return false; } public override int GetHashCode() { return Value.GetHashCode(); } public override string ToString() { DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(2, 1); defaultInterpolatedStringHandler.AppendLiteral("0x"); defaultInterpolatedStringHandler.AppendFormatted(Value, "x"); return defaultInterpolatedStringHandler.ToStringAndClear(); } internal VARIANT_BOOL(bool value) { Value = (value ? VARIANT_TRUE : VARIANT_FALSE); } public static implicit operator bool(VARIANT_BOOL value) { return value != VARIANT_FALSE; } public static implicit operator VARIANT_BOOL(bool value) { if (!value) return VARIANT_FALSE; return VARIANT_TRUE; } } }