Beispiel #1
0
        private string CreateCompositeFormat()
        {
            using (var builder = StringBuilderPool.Borrow())
            {
                if (this.ErrorText != null)
                {
                    builder.Append(this.ErrorText);
                    return(builder.ToString());
                }

                builder.Append(this.PrePadding);

                if (string.IsNullOrEmpty(this.ValueFormat))
                {
                    builder.Append("{0}");
                }
                else
                {
                    builder.Append("{0:");
                    builder.Append(this.ValueFormat);
                    builder.Append("}");
                }

                builder.Append(this.Padding);
                builder.Append(this.SymbolFormat ?? this.Unit.Symbol);
                builder.Append(this.PostPadding);
                var format = builder.ToString();
                return(format);
            }
        }
Beispiel #2
0
        private static string CreateErrorFormat(PaddedFormat valueFormat, PaddedFormat symbolFormat)
        {
            if (valueFormat.IsUnknown ||
                symbolFormat.IsUnknown)
            {
                using (var writer = StringBuilderPool.Borrow())
                {
                    if (valueFormat.IsUnknown)
                    {
                        writer.Append($"{{value: {valueFormat.Format ?? "null"}}}");
                    }
                    else
                    {
                        writer.Append(valueFormat.PrePadding);
                        writer.Append(valueFormat.Format);
                    }

                    writer.Append(NoBreakingSpace);
                    if (symbolFormat.IsUnknown)
                    {
                        writer.Append($"{{unit: {symbolFormat.Format ?? "null"}}}");
                    }
                    else
                    {
                        writer.Append(symbolFormat.Format);
                        writer.Append(symbolFormat.PostPadding);
                    }

                    return(writer.ToString());
                }
            }

            return(null);
        }
 internal string ToString(QuantityFormat <CatalyticActivityUnit> format, IFormatProvider formatProvider)
 {
     using (var builder = StringBuilderPool.Borrow())
     {
         builder.Append(this, format, formatProvider);
         return(builder.ToString());
     }
 }
Beispiel #4
0
 internal string ToString(QuantityFormat <MagneticFieldStrengthUnit> format, IFormatProvider?formatProvider)
 {
     using (var builder = StringBuilderPool.Borrow())
     {
         builder.Append(this, format, formatProvider);
         return(builder.ToString());
     }
 }
 internal string ToString(QuantityFormat <IlluminanceUnit> format, IFormatProvider?formatProvider)
 {
     using (var builder = StringBuilderPool.Borrow())
     {
         builder.Append(this, format, formatProvider);
         return(builder.ToString());
     }
 }
Beispiel #6
0
 internal string ToString(QuantityFormat <AngularSpeedUnit> format, IFormatProvider formatProvider)
 {
     using (var builder = StringBuilderPool.Borrow())
     {
         builder.Append(this, format, formatProvider);
         return(builder.ToString());
     }
 }
Beispiel #7
0
 internal string ToString(QuantityFormat <LengthPerUnitlessUnit> format, IFormatProvider formatProvider)
 {
     using (var builder = StringBuilderPool.Borrow())
     {
         builder.Append(this, format, formatProvider);
         return(builder.ToString());
     }
 }
Beispiel #8
0
 internal string ToString(QuantityFormat <ElectricalConductanceUnit> format, IFormatProvider formatProvider)
 {
     using (var builder = StringBuilderPool.Borrow())
     {
         builder.Append(this, format, formatProvider);
         return(builder.ToString());
     }
 }
 public string ToString(SymbolFormat symbolFormat)
 {
     var paddedFormat = UnitFormatCache<CurrentUnit>.GetOrCreate(this, symbolFormat);
     using (var builder = StringBuilderPool.Borrow())
     {
         builder.Append(paddedFormat.PrePadding);
         builder.Append(paddedFormat.Format);
         builder.Append(paddedFormat.PostPadding);
         return builder.ToString();
     }
 }
        internal static PaddedFormat GetOrCreate(TUnit unit, SymbolFormat symbolFormat)
        {
            if (!Cache.TryGetParts(unit, out var symbolAndPowers))
            {
                throw new ArgumentOutOfRangeException($"Did not find parts for {unit.Symbol}");
            }

            using var builder = StringBuilderPool.Borrow();
            builder.Append(symbolAndPowers, symbolFormat);
            var format = builder.ToString();

            return(new PaddedFormat(null, format, null));
        }
        public string ToString(string format)
        {
            CurrentUnit unit;
            var paddedFormat = UnitFormatCache<CurrentUnit>.GetOrCreate(format, out unit);
            if (unit != this)
            {
                return format;
            }

            using (var builder = StringBuilderPool.Borrow())
            {
                builder.Append(paddedFormat.PrePadding);
                builder.Append(paddedFormat.Format);
                builder.Append(paddedFormat.PostPadding);
                return builder.ToString();
            }
        }
        public string ToString(string format)
        {
            LuminousIntensityUnit unit;
            var paddedFormat = UnitFormatCache <LuminousIntensityUnit> .GetOrCreate(format, out unit);

            if (unit != this)
            {
                return(format);
            }

            using (var builder = StringBuilderPool.Borrow())
            {
                builder.Append(paddedFormat.PrePadding);
                builder.Append(paddedFormat.Format);
                builder.Append(paddedFormat.PostPadding);
                return(builder.ToString());
            }
        }
        public string ToString(string format)
        {
            ElectricalConductanceUnit unit;
            var paddedFormat = UnitFormatCache <ElectricalConductanceUnit> .GetOrCreate(format, out unit);

            if (unit != this)
            {
                return(format);
            }

            using (var builder = StringBuilderPool.Borrow())
            {
                builder.Append(paddedFormat.PrePadding);
                builder.Append(paddedFormat.Format);
                builder.Append(paddedFormat.PostPadding);
                return(builder.ToString());
            }
        }
        /// <summary>
        /// Converts the unit value of this instance to its equivalent string representation.
        /// </summary>
        /// <param name="format">The format to use when convereting</param>
        /// <returns>The string representation of the value of this instance.</returns>
        public string ToString(string format)
        {
            MagneticFieldStrengthUnit unit;
            var paddedFormat = UnitFormatCache <MagneticFieldStrengthUnit> .GetOrCreate(format, out unit);

            if (unit != this)
            {
                return(format);
            }

            using (var builder = StringBuilderPool.Borrow())
            {
                builder.Append(paddedFormat.PrePadding);
                builder.Append(paddedFormat.Format);
                builder.Append(paddedFormat.PostPadding);
                return(builder.ToString());
            }
        }
Beispiel #15
0
        /// <summary>
        /// Converts the unit value of this instance to its equivalent string representation.
        /// </summary>
        /// <param name="format">The format to use when convereting</param>
        /// <returns>The string representation of the value of this instance.</returns>
        public string ToString(string format)
        {
            AngularAccelerationUnit unit;
            var paddedFormat = UnitFormatCache <AngularAccelerationUnit> .GetOrCreate(format, out unit);

            if (unit != this)
            {
                return(format);
            }

            using (var builder = StringBuilderPool.Borrow())
            {
                builder.Append(paddedFormat.PrePadding);
                builder.Append(paddedFormat.Format);
                builder.Append(paddedFormat.PostPadding);
                return(builder.ToString());
            }
        }