メインコンテンツまでスキップ

初期化と終了前に処理を実行する

プロジェクトを開く、アプリケーションを起動するタイミングでエクステンションが初期化(アクティブ化)し、またプロジェクトを閉じるタイミングやアプリケーション終了時に非アクティブ化します。これらのタイミングで何らかの処理を実装する場合は、IExtensionインタフェースを実装したエクステンションのエントリポイントのクラスにActivateDeactivateメソッドを実装します。

例えば次のようなユースケースに用います。

  • 設定情報の読み込みや保存
  • ログの出力
  • 全体に共通するオブジェクトや情報の初期化、破棄
  • DIコンテナの初期化
SampleExtensionEntryPoint.cs
using NextDesign.Extension;
using NextDesign.Core;
using NextDesign.Desktop;

// エントリーポイントとなるDLLのメインクラス
// メインクラスではIExtensionを実装します。
// ハンドラはこのクラスの公開メソッドとして実装します。
public class SampleExtensionEntryPoint : IExtension
{
// エクステンションの初期化処理
public void Activate(IContext context)
{
// ここにエクステンション初期化時の処理を実装します
var app = context.App;

//...
}

// エクステンションの終了処理
public void Deactivate(IContext context)
{
// ここにエクステンション終了時の処理を実装します
var app = context.App;

//...
}
}

詳細は クイックスタート > Visual Studioを使用する > ハンドラの実装を参照して下さい。