다음을 통해 공유


WorkflowDesignerLoader.Dispose 메서드

정의

WorkflowDesignerLoader에서 사용하는 모든 리소스를 해제합니다.

public:
 override void Dispose();
public override void Dispose ();
override this.Dispose : unit -> unit
Public Overrides Sub Dispose ()

예제

다음 예제에서는 Dispose 메서드의 구현 방법을 보여 줍니다. 이 구현을 통해 LoaderHost 개체에 추가된 다양한 서비스가 애플리케이션 종료 준비 시에 제거됩니다. 이 예제는 Tracking Profile Designer SDK 샘플에 포함되어 있습니다. 자세한 내용은 Tracking Profile Designer 샘플합니다.

public override void Dispose()
{
    try
    {
        IDesignerLoaderHost host = LoaderHost;
        if (host != null)
        {
            host.RemoveService(typeof(IIdentifierCreationService));
            host.RemoveService(typeof(IMenuCommandService));
            host.RemoveService(typeof(IToolboxService));
            host.RemoveService(typeof(ITypeProvider), true);
            host.RemoveService(typeof(IWorkflowCompilerOptionsService));
            host.RemoveService(typeof(IEventBindingService));
        }
    }
    finally
    {
        base.Dispose();
    }
}
Public Overrides Sub Dispose()
    Try
        Dim host As IDesignerLoaderHost = LoaderHost
        If host IsNot Nothing Then
            host.RemoveService(GetType(IIdentifierCreationService))
            host.RemoveService(GetType(IMenuCommandService))
            host.RemoveService(GetType(IToolboxService))
            host.RemoveService(GetType(ITypeProvider), True)
            host.RemoveService(GetType(IWorkflowCompilerOptionsService))
            host.RemoveService(GetType(IEventBindingService))
        End If
    Finally
        MyBase.Dispose()
    End Try
End Sub

설명

Dispose는 디자이너 호스트가 사용하는 모든 서비스를 해제하지만 보류 중인 변경 내용을 디자이너 로더에 기록하지는 않습니다. 모든 리소스를 해제하기 전에 보류 중인 변경 내용을 저장하려면 Flush를 호출하기 전에 Dispose를 먼저 호출합니다.

적용 대상