다음을 통해 공유


PropertyDescriptor.SetValue(Object, Object) 메서드

정의

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

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 다음 순서대로 를 자동으로 만듭니다.

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

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

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

  4. 메서드는 메서드를 IComponentChangeService.OnComponentChanged 호출하여 변경 내용이 발생했음을 나타냅니다.

  5. 메서드는 를 호출 DesignerTransaction.Commit 하여 트랜잭션이 완료되었음을 나타냅니다.

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

구현자 참고

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

적용 대상

추가 정보