|
21 | 21 | namespace FirebirdSql.Data.Types;
|
22 | 22 |
|
23 | 23 | [StructLayout(LayoutKind.Auto)]
|
24 |
| -public readonly struct FbZonedDateTime : IEquatable<FbZonedDateTime> |
| 24 | +public readonly struct FbZonedDateTime : IConvertible, IEquatable<FbZonedDateTime> |
25 | 25 | {
|
26 | 26 | public DateTime DateTime { get; }
|
27 | 27 | public string TimeZone { get; }
|
@@ -72,8 +72,42 @@ public override int GetHashCode()
|
72 | 72 | }
|
73 | 73 | }
|
74 | 74 |
|
75 |
| - public bool Equals(FbZonedDateTime other) => DateTime.Equals(other.DateTime) && TimeZone.Equals(other.TimeZone, StringComparison.OrdinalIgnoreCase); |
76 |
| - |
| 75 | + public bool Equals(FbZonedDateTime other) => DateTime.Equals(other.DateTime) && TimeZone.Equals(other.TimeZone, StringComparison.OrdinalIgnoreCase); |
| 76 | + |
| 77 | + public TypeCode GetTypeCode() => TypeCode.Object; |
| 78 | + |
| 79 | + public bool ToBoolean(IFormatProvider provider) => throw new InvalidCastException(nameof(Boolean)); |
| 80 | + |
| 81 | + public byte ToByte(IFormatProvider provider) => throw new InvalidCastException(nameof(Byte)); |
| 82 | + |
| 83 | + public char ToChar(IFormatProvider provider) => throw new InvalidCastException(nameof(Char)); |
| 84 | + |
| 85 | + public DateTime ToDateTime(IFormatProvider provider) => DateTime; |
| 86 | + |
| 87 | + public decimal ToDecimal(IFormatProvider provider) => throw new InvalidCastException(nameof(Decimal)); |
| 88 | + |
| 89 | + public double ToDouble(IFormatProvider provider) => throw new InvalidCastException(nameof(Double)); |
| 90 | + |
| 91 | + public short ToInt16(IFormatProvider provider) => throw new InvalidCastException(nameof(Int16)); |
| 92 | + |
| 93 | + public int ToInt32(IFormatProvider provider) => throw new InvalidCastException(nameof(Int32)); |
| 94 | + |
| 95 | + public long ToInt64(IFormatProvider provider) => throw new InvalidCastException(nameof(Int64)); |
| 96 | + |
| 97 | + public sbyte ToSByte(IFormatProvider provider) => throw new InvalidCastException(nameof(SByte)); |
| 98 | + |
| 99 | + public float ToSingle(IFormatProvider provider) => throw new InvalidCastException(nameof(Single)); |
| 100 | + |
| 101 | + public string ToString(IFormatProvider provider) => throw new InvalidCastException(nameof(String)); |
| 102 | + |
| 103 | + public object ToType(Type conversionType, IFormatProvider provider) => throw new InvalidCastException(nameof(conversionType)); |
| 104 | + |
| 105 | + public ushort ToUInt16(IFormatProvider provider) => throw new InvalidCastException(nameof(UInt16)); |
| 106 | + |
| 107 | + public uint ToUInt32(IFormatProvider provider) => throw new InvalidCastException(nameof(UInt32)); |
| 108 | + |
| 109 | + public ulong ToUInt64(IFormatProvider provider) => throw new InvalidCastException(nameof(UInt64)); |
| 110 | + |
77 | 111 | public static bool operator ==(FbZonedDateTime lhs, FbZonedDateTime rhs) => lhs.Equals(rhs);
|
78 | 112 |
|
79 | 113 | public static bool operator !=(FbZonedDateTime lhs, FbZonedDateTime rhs) => lhs.Equals(rhs);
|
|
0 commit comments