初期化と終了前に処理を実行する
プロジェクトを開く、アプリケーションを起動するタイミングでエクステンションが初期化(アクティブ化)し、またプロジェクトを閉じるタイミングやアプリケーション終了時に非アクティブ化します。これらのタイミングで何らかの処理を実装する場合は、IExtension
インタフェースを実装したエクステンションのエントリポイントのクラスにActivate
、Deactivate
メソッドを実装します。
例えば次のようなユースケースに用います。
- 設定情報の読み込みや保存
- ログの出力
- 全体に共通するオブジェクトや情報の初期化、破棄
- 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を使用する > ハンドラの実装を参照して下さい。