예제 #1
0
 public static string ToFormattedString <T>(this T value, ITextFormatter <T> formatter)
 {
     return(formatter.WriteToString(value));
 }
예제 #2
0
        public void Write(IGeoCoordinate value, TextWriter writer)
        {
            switch (value.Type)
            {
            case GeoCoordinateType.Latitude:     // North - South
                var nsValue = $"{(value.IsNegative ? 'S' : 'N')} {value.Degrees}° {value.Minutes:00}' {_formatter.WriteToString(value.Seconds)}\"";
                writer.Write(nsValue);
                break;

            case GeoCoordinateType.Longitude:     // East - West
                var ewValue = $"{(value.IsNegative ? 'W' : 'E')} {value.Degrees}° {value.Minutes:00}' {_formatter.WriteToString(value.Seconds)}\"";
                writer.Write(ewValue);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }