Example #1
0
 public override HexFieldFormatter Create(HexTextWriter writer, HexFieldFormatterOptions options, HexNumberOptions arrayIndexOptions, HexNumberOptions valueNumberOptions)
 {
     if (writer == null)
     {
         throw new ArgumentNullException(nameof(writer));
     }
     return(new HexFieldFormatterImpl(writer, options, new NumberFormatter(arrayIndexOptions), new NumberFormatter(valueNumberOptions)));
 }
Example #2
0
        public HexFieldFormatterImpl(HexTextWriter writer, HexFieldFormatterOptions options, NumberFormatter arrayIndexFormatter, NumberFormatter numberFormatter)
        {
            this.writer              = writer ?? throw new ArgumentNullException(nameof(writer));
            this.options             = options;
            this.arrayIndexFormatter = arrayIndexFormatter;
            this.numberFormatter     = numberFormatter;
            numberFormatterShort     = new NumberFormatter(numberFormatter.Options | HexNumberOptions.MinimumDigits);

            var tokenOptions = numberFormatter.Options & ~HexNumberOptions.MinimumDigits;

            if ((tokenOptions & HexNumberOptions.NumberBaseMask) == HexNumberOptions.Decimal)
            {
                tokenOptions |= HexNumberOptions.HexCSharp;
            }
            tokenFormatter = new NumberFormatter(tokenOptions);
        }
 /// <summary>
 /// Creates a formatter
 /// </summary>
 /// <param name="writer">Text writer</param>
 /// <param name="options">Options</param>
 /// <param name="arrayIndexOptions">Array index options</param>
 /// <param name="valueNumberOptions">Value number options</param>
 /// <returns></returns>
 public abstract HexFieldFormatter Create(HexTextWriter writer, HexFieldFormatterOptions options, HexNumberOptions arrayIndexOptions, HexNumberOptions valueNumberOptions);
 /// <summary>
 /// Creates a formatter
 /// </summary>
 /// <param name="writer">Text writer</param>
 /// <returns></returns>
 public HexFieldFormatter Create(HexTextWriter writer) =>
 Create(writer, HexFieldFormatterOptions.None, HexNumberOptions.HexCSharp | HexNumberOptions.MinimumDigits, HexNumberOptions.HexCSharp);
Example #5
0
 public HexFieldFormatterImpl(HexTextWriter writer, HexFieldFormatterOptions options, in NumberFormatter arrayIndexFormatter, in NumberFormatter numberFormatter)