diff options
author | Stephane Delcroix <stephane@delcroix.org> | 2016-09-26 22:29:47 +0200 |
---|---|---|
committer | Jason Smith <jason.smith@xamarin.com> | 2016-09-26 13:29:47 -0700 |
commit | 55f066584c507ec92d5054fac4f3a35f54c05522 (patch) | |
tree | 358ec7ed9a74e008b3bc601a9b391bcd193fb86b /Xamarin.Forms.Core/ColorTypeConverter.cs | |
parent | e6a20ddedb6c8dee989b4ac19c6e83cecafe9f29 (diff) | |
download | xamarin-forms-55f066584c507ec92d5054fac4f3a35f54c05522.tar.gz xamarin-forms-55f066584c507ec92d5054fac4f3a35f54c05522.tar.bz2 xamarin-forms-55f066584c507ec92d5054fac4f3a35f54c05522.zip |
[XamlC] Compiled converters (#358)
Diffstat (limited to 'Xamarin.Forms.Core/ColorTypeConverter.cs')
-rw-r--r-- | Xamarin.Forms.Core/ColorTypeConverter.cs | 72 |
1 files changed, 26 insertions, 46 deletions
diff --git a/Xamarin.Forms.Core/ColorTypeConverter.cs b/Xamarin.Forms.Core/ColorTypeConverter.cs index 612174e9..0eb6fab3 100644 --- a/Xamarin.Forms.Core/ColorTypeConverter.cs +++ b/Xamarin.Forms.Core/ColorTypeConverter.cs @@ -1,9 +1,9 @@ using System; using System.Linq; -using System.Reflection; namespace Xamarin.Forms { + [Xaml.ProvideCompiled("Xamarin.Forms.Core.XamlC.ColorTypeConverter")] public class ColorTypeConverter : TypeConverter { public override object ConvertFromInvariantString(string value) @@ -16,59 +16,39 @@ namespace Xamarin.Forms if (parts.Length == 1 || (parts.Length == 2 && parts[0] == "Color")) { string color = parts[parts.Length - 1]; - switch (color) - { - case "Default": - return Color.Default; - case "Transparent": - return Color.Transparent; - case "Aqua": - return Color.Aqua; - case "Black": - return Color.Black; - case "Blue": - return Color.Blue; - case "Fuchsia": - return Color.Fuchsia; - case "Gray": - return Color.Gray; - case "Green": - return Color.Green; - case "Lime": - return Color.Lime; - case "Maroon": - return Color.Maroon; - case "Navy": - return Color.Navy; - case "Olive": - return Color.Olive; - case "Orange": - return Color.Orange; - case "Purple": - return Color.Purple; - case "Pink": - return Color.Pink; - case "Red": - return Color.Red; - case "Silver": - return Color.Silver; - case "Teal": - return Color.Teal; - case "White": - return Color.White; - case "Yellow": - return Color.Yellow; + switch (color) { + case "Default": return Color.Default; + case "Accent": return Color.Accent; + case "Transparent": return Color.Transparent; + case "Aqua": return Color.Aqua; + case "Black": return Color.Black; + case "Blue": return Color.Blue; + case "Fuchsia": return Color.Fuchsia; + case "Gray": return Color.Gray; + case "Green": return Color.Green; + case "Lime": return Color.Lime; + case "Maroon": return Color.Maroon; + case "Navy": return Color.Navy; + case "Olive": return Color.Olive; + case "Orange": return Color.Orange; + case "Purple": return Color.Purple; + case "Pink": return Color.Pink; + case "Red": return Color.Red; + case "Silver": return Color.Silver; + case "Teal": return Color.Teal; + case "White": return Color.White; + case "Yellow": return Color.Yellow; } - FieldInfo field = typeof(Color).GetFields().FirstOrDefault(fi => fi.IsStatic && fi.Name == color); + var field = typeof(Color).GetFields().FirstOrDefault(fi => fi.IsStatic && fi.Name == color); if (field != null) return (Color)field.GetValue(null); - PropertyInfo property = typeof(Color).GetProperties().FirstOrDefault(pi => pi.Name == color && pi.CanRead && pi.GetMethod.IsStatic); + var property = typeof(Color).GetProperties().FirstOrDefault(pi => pi.Name == color && pi.CanRead && pi.GetMethod.IsStatic); if (property != null) return (Color)property.GetValue(null, null); } } - throw new InvalidOperationException(string.Format("Cannot convert \"{0}\" into {1}", value, typeof(Color))); + throw new InvalidOperationException($"Cannot convert \"{value}\" into {typeof(Color)}"); } } }
\ No newline at end of file |