public void SetValue(object instance, PropertyInfo pi, object newvalue, CultureInfo culture) { var descriptor = Descriptor.Get(pi.PropertyType, newvalue.ToString()); pi.SetValue(instance, descriptor, null); }