PropertyDescriptor.SetValue(Object, Object) 메서드

정의

파생 클래스에서 재정의되는 경우 구성 요소의 값을 다른 값으로 설정합니다.

public:
 abstract void SetValue(System::Object ^ component, System::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 다음 순서대로 자동으로 만듭니다.

  1. 메서드는 메서드를 IDesignerHost.CreateTransaction 호출하여 변경 내용을 나타내는 새 DesignerTransaction 메서드를 만듭니다.

  2. 메서드는 메서드를 IComponentChangeService.OnComponentChanging 호출하여 트랜잭션이 시작되었고 변경 내용이 발생하려고 함을 나타냅니다.

  3. 메서드는 이 메서드의 확인 순서에 따라 결정되는 값으로 속성을 다시 설정합니다.

  4. 메서드는 변경이 발생했음을 나타내기 위해 메서드를 호출 IComponentChangeService.OnComponentChanged 합니다.

  5. 메서드는 트랜잭션이 완료되었음을 나타내기 위해 호출 DesignerTransaction.Commit 합니다.

트랜잭션의 목적은 지원 및 Redo 기능을 위한 Undo 것입니다.

구현자 참고

이 메서드를 재정의하는 경우 구현해야 하는 적절한 "SetMyProperty" 메서드를 호출하여 속성 값을 설정해야 합니다. 지정된 값이 유효하지 않으면 구성 요소에서 예외를 throw해야 합니다. 이 예외가 전달됩니다. "SetMyProperty" 메서드 다음에 "GetMyProperty" 메서드가 "SetMyProperty" 메서드가 예외를 throw하지 않을 때 전달된 값을 반환하도록 속성을 디자인해야 합니다.

적용 대상

추가 정보