public override object CreateInstance(ITypeDescriptorContext context, IDictionary propertyValues)
{
if (propertyValues == null)
{
throw new ArgumentNullException(nameof(propertyValues));
}
object width = propertyValues["Width"];
object height = propertyValues["Height"];
if (width == null || height == null ||
!(width is int) || !(height is int))
{
throw new ArgumentException(SR.Format(SR.PropertyValueInvalidEntry));
}
return new Size((int)width, (int)height);
}