ICommandExtension インターフェイス

MEF の拡張機能からこのインターフェイスを実装し、モデリング図にメニュー コマンドを提供するためにエクスポートします。

名前空間:  Microsoft.VisualStudio.Modeling.ExtensionEnablement
アセンブリ:  Microsoft.VisualStudio.Modeling.Sdk.11.0 (Microsoft.VisualStudio.Modeling.Sdk.11.0.dll 内)

構文

'宣言
Public Interface ICommandExtension
public interface ICommandExtension

ICommandExtension 型で公開されるメンバーは以下のとおりです。

プロパティ

  名前 説明
パブリック プロパティ Text メニューのこのコマンドを識別する表示するラベル。

このページのトップへ

メソッド

  名前 説明
パブリック メソッド Execute ユーザーがメニューでこのコマンドをクリックしたときに起動します。
パブリック メソッド QueryStatus コマンドを表示する必要がある実行し、有効になっているかどうかを定義するために行います。設定のコマンド。表示され、コマンド。有効になります。モデルの状態を変更しないでください。

このページのトップへ

解説

UML 図のメニュー コマンドを定義するには、Visual Studio の拡張機能でこのインターフェイスを実装できます。extension.manifest では、アセンブリは MEF コンポーネントとして識別する必要があります。エクスポート属性とクラスの前に付ける必要があります :

[Export(typeof(ICommandExtension))]

または、コマンドが表示される場合は、それぞれの図の種類の属性を指定する必要があります :

[ClassDesignerExtension]

パブリック クラスとコマンドを定義します :

public class NameSwapper : ICommandExtension {

クラス内で、選択した図形の、モデル要素とモデル ストアにアクセスできるように IDiagramContext を、現在の図は、インポートする必要があります :

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

また、ソリューション エクスプローラーなど Visual Studio のコンポーネントにアクセスするに IServiceProvider をインポートする場合 :

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

コマンドがモデルにいくつかの変更を行うと、1 が失敗した場合、ユーザーが単一の元に戻すコマンドでグループ全体を元に戻すことができるように、グループ全体を破棄できるように単一のトランザクションにグループ化することがあります。ILinkedUndoContext は、トランザクションを作成することができます :

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

詳細については、「方法: モデリング図にメニュー コマンドを定義する」を参照してください。

参照

関連項目

Microsoft.VisualStudio.Modeling.ExtensionEnablement 名前空間