エクステンションの実装
概要
通常のエクステンションとは異なるエントリポイントとなるメインクラスを実装します。
以下が通常のエクステンション実装との変化点です。
変化点 | 通常のエクステンション | ExtensionPoints利用のエクステンション |
---|---|---|
名前空間の指定 | NextDesign.Extension | NextDesign.Desktop.ExtensionPoints |
継承/インタフェース | IExtension の実装 | ExtensionBase の継承 |
初期化処理 | Activate メソッドの実装 | OnActivate メソッドのオーバーライド |
終了前処理 | Deactivate メソッドの実装 | OnDeactivate メソッドのオーバーライド |
実装例
プロジェクトテンプ レートを用いた場合は、OnDeactivate
を除いて、下記のように初期設定されています。
using NextDesign.Desktop.ExtensionPoints;
namespace SampleExtension
{
/// <summary>
/// エクステンションのエントリポイントです
/// </summary>
public class SampleExtensionEntryPoint : ExtensionBase
{
#region Activate/Deactivate
/// <summary>
/// アクティベート時の処理です。
/// </summary>
protected override void OnActivate()
{
// リボン
ExtensionPoints.Ribbon.AddTab("SampleExPoint").AddGroup("Test1").AddLargeButton<HelloCommand>("こんにちは");
// イベント
ExtensionPoints.Events.Application.RegisterOnAfterStart<ApplicationAfterStart>();
}
/// <summary>
/// <summary>
/// ディアクティベート時の処理です。
/// </summary>
/// </summary>
protected override void OnDeactivate()
{
}
#endregion
}
}