protected internal virtual void SetProperties(ProviderPropertyList properties) { foreach (var p in GetType().GetProperties().Where(p => p.CanRead && p.CanWrite)) { var converter = TypeDescriptor.GetConverter(p.PropertyType); if (converter.CanConvertFrom(typeof(string))) { var value = properties.GetStringValue(p.Name, null); //if (value != null && converter.IsValid(value)) if (value != null) { p.SetValue(this, converter.ConvertFromInvariantString(value), null); } } } }
protected internal virtual void SetProperties(ProviderPropertyList properties) { foreach (var p in GetType().GetProperties().Where(p => p.CanRead && p.CanWrite)) { var converter = TypeDescriptor.GetConverter(p.PropertyType); if (converter.CanConvertFrom(typeof(string))) { var value = properties.GetStringValue(p.Name, null); //if (value != null && converter.IsValid(value)) if (value != null) p.SetValue(this, converter.ConvertFromInvariantString(value), null); } } }