1. 程式人生 > 其它 >AutoCAD快速開發框架之外掛Plugin

AutoCAD快速開發框架之外掛Plugin

外掛模組的結構圖如下:

外掛模組通過LicensableModuleAttribute標記外掛需要授權才能使用,通過過載CheckLicense函式驗證授權,通過過載Install和Uninstall函式實現載入、解除安裝時的自定義操作。

PluginManager實現外掛的管理,PluginFinder實現外掛的查詢。

// 2021-08-23 by www.cnblogs.com/ztcad
namespace ztcad.ThCad
{
    [LicensableModule]
    public class Plugin : BasePlugin
    {
        private
readonly ILogger _logger; private readonly ISettingService _settingService; /// <summary> /// Ctor /// </summary> /// <param name="logger">Logger</param> /// <param name="settingService">Settings service</param> public Plugin(ILogger logger, ISettingService settingService) {
this._logger = logger; this._settingService = settingService; } public static string SystemName { get { return "ztcad.ThCad"; } } public override bool CheckLicense() { return
true; } /// <summary> /// Install the plugin /// </summary> public override void Install() { var settings = new ThCadSettings(); _settingService.SaveSetting(settings); base.Install(); _logger.Info(string.Format("Plugin installed: SystemName: {0}, Version: {1}, Description: '{2}'", PluginDescriptor.SystemName, PluginDescriptor.Version, PluginDescriptor.FriendlyName)); } /// <summary> /// Uninstall the plugin /// </summary> public override void Uninstall() { _settingService.DeleteSetting<ThCadSettings>(); base.Uninstall(); } } }