다음을 통해 공유


PropertyDescriptor.ResetValue(Object) 메서드

정의

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

public:
 abstract void ResetValue(System::Object ^ component);
public abstract void ResetValue (object component);
abstract member ResetValue : obj -> unit
Public MustOverride Sub ResetValue (component As Object)

매개 변수

component
Object

기본값으로 다시 설정될 속성 값이 포함된 구성 요소입니다.

설명

일반적으로 이 메서드는 리플렉션을 통해 구현됩니다.

이 메서드는 속성을 초기화할 값을 다음 우선 순위 순서로 결정합니다.

  1. 이 속성에 대한 그림자 속성이 있습니다.

  2. 이 속성에 대한 가 DefaultValueAttribute 있습니다.

  3. 구현한 "ResetMyProperty" 메서드가 있습니다. 여기서 "MyProperty"는 전달한 속성의 이름입니다.

이 메서드는 DesignerTransaction 다음 순서대로 를 자동으로 만듭니다.

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

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

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

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

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

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

구현자 참고

파생 클래스에서 재정의된 경우 이 메서드는 를 찾습니다 DefaultValueAttribute. 하나를 찾으면 속성의 값을 찾은 값으로 DefaultValueAttribute 설정합니다. 이 메서드가 를 DefaultValueAttribute찾을 수 없는 경우 구현해야 하는 "ResetMyProperty" 메서드를 찾습니다. 이 경우 메서드가 ResetValue(Object) 호출합니다. 구현한 DefaultValueAttribute 또는 "ResetMyProperty" 메서드를 찾을 수 없는 경우 ResetValue(Object) 작업을 수행하지 않습니다.

적용 대상

추가 정보