PropertyDescriptor.SetValue(Object, Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当在派生类中被重写时,将组件的值设置为一个不同的值。
public:
abstract void SetValue(System::Object ^ component, System::Object ^ value);
public abstract void SetValue (object component, object value);
public abstract void SetValue (object? component, object? value);
abstract member SetValue : obj * obj -> unit
Public MustOverride Sub SetValue (component As Object, value As Object)
参数
- component
- Object
具有要进行设置的属性值的组件。
- value
- Object
新值。
注解
通常,此方法是通过反射实现的。
此方法按以下顺序自动创建 DesignerTransaction :
方法调用 IDesignerHost.CreateTransaction 方法以创建一个新的 DesignerTransaction 来表示更改。
方法调用 IComponentChangeService.OnComponentChanging 方法以指示事务已开始且即将发生更改。
方法将 属性重置为此方法的检查顺序确定的值。
方法调用 IComponentChangeService.OnComponentChanged 方法以指示已发生更改。
方法调用 DesignerTransaction.Commit 以指示事务已完成。
事务的目的是支持 Undo
和 Redo
功能。
实施者说明
重写此方法时,它应通过调用需要实现的相应“SetMyProperty”方法来设置属性的值。 如果指定的值无效,组件应引发异常,该异常会向上传递。 应设计 该属性,以便“GetMyProperty”方法 (在“SetMyProperty”方法不引发异常时,) 实现的“GetMyProperty”方法返回传入的值。