エクステンションの実装
概要
通常のエクステンションとは異なるエントリポイントとなるメインクラスを実装します。
以下が通常のエクステンション実装との変化点です。
| 変化点 | 通常のエクステンション | 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
}
}