Example #1
0
 public override int GetHashCode() =>
 Name.GetHashCode() ^
 // HACK: Because legacy represents date times as characters - so why bother with DateTime support?
 (FieldType == DbaseFieldType.DateTime ? DbaseFieldType.Character : FieldType).GetHashCode() ^
 Offset.GetHashCode() ^
 Length.GetHashCode() ^
 DecimalCount.GetHashCode();
Example #2
0
 private bool Equals(DbaseField other) =>
 other != null &&
 Name.Equals(other.Name) &&
 FieldType.Equals(other.FieldType) &&
 Offset.Equals(other.Offset) &&
 Length.Equals(other.Length) &&
 DecimalCount.Equals(other.DecimalCount);
Example #3
0
        public void Write(BinaryWriter writer)
        {
            if (writer == null)
            {
                throw new ArgumentNullException(nameof(writer));
            }

            writer.WriteRightPaddedString(Name.ToString(), 11, char.MinValue);
            writer.Write((byte)FieldType);
            writer.Write(Offset.ToInt32());
            writer.Write(Length.ToByte());
            writer.Write(DecimalCount.ToByte());
            writer.Write(new byte[14]);
        }
Example #4
0
 private bool Equals(DbaseField other) =>
 other != null &&
 Name.Equals(other.Name) &&
 // HACK: Because legacy represents date times as characters - so why bother with DateTime support?
 (
     (
         (FieldType == DbaseFieldType.Character || FieldType == DbaseFieldType.DateTime)
         &&
         (other.FieldType == DbaseFieldType.Character || other.FieldType == DbaseFieldType.DateTime)
     )
     ||
     FieldType == other.FieldType
 ) &&
 Offset.Equals(other.Offset) &&
 Length.Equals(other.Length) &&
 DecimalCount.Equals(other.DecimalCount);
Example #5
0
        public void Write(BinaryWriter writer)
        {
            if (writer == null)
            {
                throw new ArgumentNullException(nameof(writer));
            }

            writer.WriteRightPaddedString(Name.ToString(), 11, char.MinValue);
            // HACK: Because legacy represents date times as characters - so why bother with DateTime support?
            if (FieldType == DbaseFieldType.DateTime)
            {
                writer.Write((byte)DbaseFieldType.Character);
            }
            else
            {
                writer.Write((byte)FieldType);
            }

            writer.Write(Offset.ToInt32());
            writer.Write(Length.ToByte());
            writer.Write(DecimalCount.ToByte());
            writer.Write(new byte[14]);
        }
Example #6
0
 public override int GetHashCode() =>
 Name.GetHashCode() ^
 FieldType.GetHashCode() ^
 Offset.GetHashCode() ^
 Length.GetHashCode() ^
 DecimalCount.GetHashCode();