diff options
| author | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2018-02-09 20:44:48 +0100 |
|---|---|---|
| committer | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2018-02-09 20:48:02 +0100 |
| commit | 673466d57ed603eb5c336ab9c09c7d8a74ec3b02 (patch) | |
| tree | b774fc1bc15c3606ab42fbe948850eb7cbf315e6 /CrowIDE/src/MembersView.cs | |
| parent | d783669223da5bfe8caa1b95c0ff6e1c5046e09e (diff) | |
made SeletedItem of templatedGroup writable0.6.0
Diffstat (limited to 'CrowIDE/src/MembersView.cs')
| -rw-r--r-- | CrowIDE/src/MembersView.cs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/CrowIDE/src/MembersView.cs b/CrowIDE/src/MembersView.cs index 18f1a709..67c712bd 100644 --- a/CrowIDE/src/MembersView.cs +++ b/CrowIDE/src/MembersView.cs @@ -24,6 +24,7 @@ using System.Xml.Serialization; using System.ComponentModel; using System.Reflection; using System.Collections.Generic; +using System.Linq; namespace CrowIDE { @@ -47,7 +48,10 @@ namespace CrowIDE try { if (!pi.PropertyType.IsAssignableFrom(value.GetType()) && pi.PropertyType != typeof(string)){ if (pi.PropertyType.IsEnum) { - pi.SetValue (instance, value); + if (value is string) { + pi.SetValue (instance, Enum.Parse (pi.PropertyType, (string)value)); + }else + pi.SetValue (instance, value); } else { MethodInfo me = pi.PropertyType.GetMethod ("Parse", BindingFlags.Static | BindingFlags.Public, @@ -65,9 +69,9 @@ namespace CrowIDE public string Type { get { return pi.PropertyType.IsEnum ? "System.Enum" : pi.PropertyType.FullName; }} - public string[] Choices { + public object[] Choices { get { - return Enum.GetNames (pi.PropertyType); + return Enum.GetValues (pi.PropertyType).Cast<object>().ToArray(); } } |