namespace System.Xml {
///
/// Represents the value of a tag.
///
[Obsolete("Use the XMLIRWText class to define values.")]
public struct XMLIRWValue : IDisposable, IEquatable, IConvertible {
private object value;
///
/// Represents an empty value.
///
public readonly static XMLIRWValue Empty = new XMLIRWValue(default);
#pragma warning disable CS1591 // O comentário XML ausente não foi encontrado para o tipo ou membro visível publicamente
public XMLIRWValue(object value) {
this.value = value;
}
public void Dispose() {
value = default;
}
public bool Equals(XMLIRWValue other) => other.value == value;
public override string ToString()
=> value is null ? string.Empty : value.ToString();
public string ToString(IFormatProvider provider)
=> Convert.ToString(value, provider);
public override bool Equals(object obj)
=> obj is XMLIRWValue V && Equals(V);
#pragma warning restore CS1591 // O comentário XML ausente não foi encontrado para o tipo ou membro visível publicamente
///
/// Returns the hash code for this instance.
///
/// A 32-bit signed integer that is the hash code for this instance.
public override int GetHashCode() => base.GetHashCode();
TypeCode IConvertible.GetTypeCode()
=> Convert.GetTypeCode(value);
bool IConvertible.ToBoolean(IFormatProvider provider)
=> Convert.ToBoolean(value, provider);
byte IConvertible.ToByte(IFormatProvider provider)
=> Convert.ToByte(value, provider);
char IConvertible.ToChar(IFormatProvider provider)
=> Convert.ToChar(value, provider);
DateTime IConvertible.ToDateTime(IFormatProvider provider)
=> Convert.ToDateTime(value, provider);
decimal IConvertible.ToDecimal(IFormatProvider provider)
=> Convert.ToDecimal(value, provider);
double IConvertible.ToDouble(IFormatProvider provider)
=> Convert.ToDouble(value, provider);
short IConvertible.ToInt16(IFormatProvider provider)
=> Convert.ToInt16(value, provider);
int IConvertible.ToInt32(IFormatProvider provider)
=> Convert.ToInt32(value, provider);
long IConvertible.ToInt64(IFormatProvider provider)
=> Convert.ToInt64(value, provider);
sbyte IConvertible.ToSByte(IFormatProvider provider)
=> Convert.ToSByte(value, provider);
float IConvertible.ToSingle(IFormatProvider provider)
=> Convert.ToSingle(value, provider);
object IConvertible.ToType(Type conversionType, IFormatProvider provider)
=> Convert.ChangeType(value, conversionType, provider);
ushort IConvertible.ToUInt16(IFormatProvider provider)
=> Convert.ToUInt16(value, provider);
uint IConvertible.ToUInt32(IFormatProvider provider)
=> Convert.ToUInt32(value, provider);
ulong IConvertible.ToUInt64(IFormatProvider provider)
=> Convert.ToUInt64(value, provider);
#pragma warning disable CS1591
public static bool operator ==(XMLIRWValue left, XMLIRWValue right) => left.Equals(right);
public static bool operator !=(XMLIRWValue left, XMLIRWValue right) => !(left == right);
public static explicit operator string(XMLIRWValue V)
=> V == Empty ? string.Empty : Convert.ToString(V);
#pragma warning restore
}
}