다음을 통해 공유


ICommandExtension 인터페이스

모델링 다이어그램의 메뉴 명령을 제공하는 MEF 확장에서 이 명령을 구현하고 내보냅니다.

네임스페이스:  Microsoft.VisualStudio.Modeling.ExtensionEnablement
어셈블리:  Microsoft.VisualStudio.Modeling.Sdk.12.0(Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)

구문

‘선언
Public Interface ICommandExtension
public interface ICommandExtension

ICommandExtension 형식에서는 다음과 같은 멤버를 노출합니다.

속성

  이름 설명
Public 속성 Text 이 메뉴의 명령을 식별하는 표시 레이블입니다.

위쪽

메서드

  이름 설명
Public 메서드 Execute 사용자가 이 메뉴 명령을 클릭할 때 호출됩니다.
Public 메서드 QueryStatus 명령을 표시하고 활성화할지 여부를 정의하려면 이 메서드를 구현합니다.command.Visible 및 command.Enabled를 설정합니다.모델의 상태를 변경하지 마십시오.

위쪽

설명

UML 다이어그램의 메뉴 명령 정의 구현할 수 있습니다에서이 인터페이스는 Visual Studio 확장. extension.manifest에서 MEF 구성 요소 어셈블리를 식별 합니다. 내보내기 특성을 사용 하 여 클래스에 붙여야 합니다.

[Export(typeof(ICommandExtension))]

또한 해당 명령을 원하는 각 다이어그램 형식에 대 한 특성을 제공 해야 합니다.

[ClassDesignerExtension]

공용 클래스와 명령을 정의 합니다.

public class NameSwapper : ICommandExtension {

내부 클래스를 가져와야 IDiagramContext, 현재 다이어그램, 선택한 셰이프, 모델 요소 및 모델 저장소에 액세스할 수 있도록.

[Import] public IDiagramContext Context { get; set; }

가져올 수 있습니다 IServiceProvider에 대 한 액세스를 얻기 위해, Visual Studio 솔루션 탐색기와 같은 구성 요소:

[Import] public IServicerProvider ServiceProvider { get; set; }

명령 모델에 몇 가지 변경 작업을 수행 합니다는 경우 단일 트랜잭션으로 그룹화 하려면 하나가 실패 하 고 단일 실행 취소 명령 사용 하 여 전체 그룹을 취소할 수 있도록 그룹 전체를 버릴 수 있도록 합니다. ILinkedUndoContext트랜잭션을 만들 수 있습니다.

[Import] public ILinkedUndoContext LinkedUndoContext {get; set;}

자세한 내용은 방법: 모델링 다이어그램의 메뉴 명령 정의을 참조하십시오.

참고 항목

참조

Microsoft.VisualStudio.Modeling.ExtensionEnablement 네임스페이스