public override void SetValue(object component, object value)
{
DesignerTransaction tran = CreateTransaction(component, "Set Property '" + Name + "'");
object propertyHolder = MemberDescriptor.GetInvokee(_componentType, component);
object old = GetValue(propertyHolder);
try {
GetPropertyInfo().SetValue(propertyHolder, value, null);
EndTransaction(component, tran, old, value, true);
} catch {
EndTransaction(component, tran, old, value, false);
throw;
}
}