Skip to content
This repository has been archived by the owner on May 1, 2024. It is now read-only.

[X] ConvertToInvariant is invariant #12834

Merged
merged 1 commit into from
Nov 18, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Xamarin.Forms.Core/BoundsTypeConverter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public override string ConvertToInvariantString(object value)
{
if (!(value is Rectangle rect))
throw new NotSupportedException();
return $"{rect.X}, {rect.Y}, {(rect.Width == AbsoluteLayout.AutoSize ? nameof(AbsoluteLayout.AutoSize) : rect.Width.ToString())}, {(rect.Height == AbsoluteLayout.AutoSize ? nameof(AbsoluteLayout.AutoSize) : rect.Height.ToString())}";
return $"{rect.X.ToString(CultureInfo.InvariantCulture)}, {rect.Y.ToString(CultureInfo.InvariantCulture)}, {(rect.Width == AbsoluteLayout.AutoSize ? nameof(AbsoluteLayout.AutoSize) : rect.Width.ToString(CultureInfo.InvariantCulture))}, {(rect.Height == AbsoluteLayout.AutoSize ? nameof(AbsoluteLayout.AutoSize) : rect.Height.ToString(CultureInfo.InvariantCulture))}";
}
}
}
2 changes: 1 addition & 1 deletion Xamarin.Forms.Core/CornerRadiusTypeConverter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ public override string ConvertToInvariantString(object value)
{
if (!(value is CornerRadius cr))
throw new NotSupportedException();
return $"{cr.TopLeft}, {cr.TopRight}, {cr.BottomLeft}, {cr.BottomRight}";
return $"{cr.TopLeft.ToString(CultureInfo.InvariantCulture)}, {cr.TopRight.ToString(CultureInfo.InvariantCulture)}, {cr.BottomLeft.ToString(CultureInfo.InvariantCulture)}, {cr.BottomRight.ToString(CultureInfo.InvariantCulture)}";
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: instead of repeating CultureInfo.InvariantCulture multiple times consider using denser form
string.Format(CultureInfo.InvariantCulture, "{0}, {1}, {2}, {3}", cr.TopLeft, cr.TopRight, cr.BottomLeft, cr.BottomRight);

There are other places like this

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could also do:

FormattableString.Invariant($"{cr.TopLeft}, {cr.TopRight}, {cr.BottomLeft}, {cr.BottomRight}");

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GalaxiaGuy nice tip. but we still need to support netstandard1.0 :(

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@etvorun I choose to keep named parameters instead of reverting to positional


}
}
Expand Down
4 changes: 2 additions & 2 deletions Xamarin.Forms.Core/FlexEnums.cs
Original file line number Diff line number Diff line change
Expand Up @@ -276,8 +276,8 @@ public override string ConvertToInvariantString(object value)
if (basis.IsAuto)
return "auto";
if (basis.IsRelative)
return $"{basis.Length * 100}%";
return $"{basis.Length}";
return $"{(basis.Length * 100).ToString(CultureInfo.InvariantCulture)}%";
return $"{basis.Length.ToString(CultureInfo.InvariantCulture)}";
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion Xamarin.Forms.Core/FontSizeConverter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ public override string ConvertToInvariantString(object value)
{
if (!(value is double d))
throw new NotSupportedException();
return $"{d}";
return $"{d.ToString(CultureInfo.InvariantCulture)}";
}
}
}
4 changes: 2 additions & 2 deletions Xamarin.Forms.Core/GridLengthTypeConverter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ public override string ConvertToInvariantString(object value)
if (length.IsAuto)
return "auto";
if (length.IsStar)
return $"{length.Value}*";
return $"{length.Value}";
return $"{length.Value.ToString(CultureInfo.InvariantCulture)}*";
return $"{length.Value.ToString(CultureInfo.InvariantCulture)}";
}
}
}
2 changes: 1 addition & 1 deletion Xamarin.Forms.Core/PointTypeConverter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public override string ConvertToInvariantString(object value)
{
if (!(value is Point p))
throw new NotSupportedException();
return $"{p.X}, {p.Y}";
return $"{p.X.ToString(CultureInfo.InvariantCulture)}, {p.Y.ToString(CultureInfo.InvariantCulture)}";
}
}
}
2 changes: 1 addition & 1 deletion Xamarin.Forms.Core/RectTypeConverter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public override string ConvertToInvariantString(object value)
if (!(value is Rect r))
throw new NotSupportedException();

return $"{r.X}, {r.Y}, {r.Width}, {r.Height}";
return $"{r.X.ToString(CultureInfo.InvariantCulture)}, {r.Y.ToString(CultureInfo.InvariantCulture)}, {r.Width.ToString(CultureInfo.InvariantCulture)}, {r.Height.ToString(CultureInfo.InvariantCulture)}";
}
}
}
2 changes: 1 addition & 1 deletion Xamarin.Forms.Core/RectangleTypeConverter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public override string ConvertToInvariantString(object value)
{
if (!(value is Rectangle r))
throw new NotSupportedException();
return $"{r.X}, {r.Y}, {r.Width}, {r.Height}";
return $"{r.X.ToString(CultureInfo.InvariantCulture)}, {r.Y.ToString(CultureInfo.InvariantCulture)}, {r.Width.ToString(CultureInfo.InvariantCulture)}, {r.Height.ToString(CultureInfo.InvariantCulture)}";
}
}
}
5 changes: 3 additions & 2 deletions Xamarin.Forms.Core/Shapes/MatrixTypeConverter.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System;
using System.Globalization;

namespace Xamarin.Forms.Shapes
{
Expand All @@ -22,7 +23,7 @@ internal static Matrix CreateMatrix(string value)
double[] values = new double[6];

for (int i = 0; i < 6; i++)
if (!double.TryParse(strs[i], out values[i]))
if (!double.TryParse(strs[i], NumberStyles.Number, CultureInfo.InvariantCulture, out values[i]))
throw new ArgumentException("Argument must be numeric values");

return new Matrix(values[0], values[1], values[2], values[3], values[4], values[5]);
Expand All @@ -32,7 +33,7 @@ public override string ConvertToInvariantString(object value)
{
if (!(value is Matrix matrix))
throw new NotSupportedException();
return $"{matrix.M11}, {matrix.M12}, {matrix.M21}, {matrix.M22}, {matrix.OffsetX}, {matrix.OffsetY}";
return $"{matrix.M11.ToString(CultureInfo.InvariantCulture)}, {matrix.M12.ToString(CultureInfo.InvariantCulture)}, {matrix.M21.ToString(CultureInfo.InvariantCulture)}, {matrix.M22.ToString(CultureInfo.InvariantCulture)}, {matrix.OffsetX.ToString(CultureInfo.InvariantCulture)}, {matrix.OffsetY.ToString(CultureInfo.InvariantCulture)}";
}
}
}
2 changes: 1 addition & 1 deletion Xamarin.Forms.Core/SizeTypeConverter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public override string ConvertToInvariantString(object value)
{
if (!(value is Size size))
throw new NotSupportedException();
return $"{size.Width}, {size.Height}";
return $"{size.Width.ToString(CultureInfo.InvariantCulture)}, {size.Height.ToString(CultureInfo.InvariantCulture)}";
}
}
}
2 changes: 1 addition & 1 deletion Xamarin.Forms.Core/ThicknessTypeConverter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ public override string ConvertToInvariantString(object value)
{
if (!(value is Thickness t))
throw new NotSupportedException();
return $"{t.Left}, {t.Top}, {t.Right}, {t.Bottom}";
return $"{t.Left.ToString(CultureInfo.InvariantCulture)}, {t.Top.ToString(CultureInfo.InvariantCulture)}, {t.Right.ToString(CultureInfo.InvariantCulture)}, {t.Bottom.ToString(CultureInfo.InvariantCulture)}";
}
}
}