code_junkie

Generic type conversion FROM string

Nov 10th, 2011
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. public class TypedProperty<DataType> : Property
  2. {
  3. public DataType TypedValue
  4. {
  5. get { // Having problems here! }
  6. set { base.Value = value.ToString();}
  7. }
  8. }
  9.  
  10. public class TypedProperty<T> : Property
  11. {
  12. public T TypedValue
  13. {
  14. get { return (T)Convert.ChangeType(base.Value, typeof(T)); }
  15. set { base.Value = value.ToString();}
  16. }
  17. }
  18.  
  19. TConverter.ChangeType<T>(StringValue);
  20.  
  21. public static class TConverter
  22. {
  23. public static T ChangeType<T>(object value)
  24. {
  25. return (T)ChangeType(typeof(T), value);
  26. }
  27. public static object ChangeType(Type t, object value)
  28. {
  29. TypeConverter tc = TypeDescriptor.GetConverter(t);
  30. return tc.ConvertFrom(value);
  31. }
  32. public static void RegisterTypeConverter<T, TC>() where TC : TypeConverter
  33. {
  34.  
  35. TypeDescriptor.AddAttributes(typeof(T), new TypeConverterAttribute(typeof(TC)));
  36. }
  37. }
  38.  
  39. get { return StringConverter<DataType>.FromString(base.Value); }
  40.  
  41. MethodInfo m = typeof(T).GetMethod("Parse", new Type[] { typeof(string) } );
  42. if (m != null) { return m.Invoke(null, new object[] { base.Value }); }
  43.  
  44. public class TypedProperty<T> : Property
  45. {
  46. public T TypedValue
  47. {
  48. get { return (T)(object)base.Value; }
  49. set { base.Value = value.ToString();}
  50. }
  51. }
  52.  
  53. public interface IConvertibleFromString
  54. {
  55. IConvertibleFromString ConvertFromString(string s);
  56. }
  57.  
  58. get { return this.ConvertFromString(base.Value); }
Add Comment
Please, Sign In to add comment