AutoCAD快速開發框架之外掛Plugin
阿新 • • 發佈:2021-08-23
外掛模組的結構圖如下:
外掛模組通過LicensableModuleAttribute標記外掛需要授權才能使用,通過過載CheckLicense函式驗證授權,通過過載Install和Uninstall函式實現載入、解除安裝時的自定義操作。
PluginManager實現外掛的管理,PluginFinder實現外掛的查詢。
// 2021-08-23 by www.cnblogs.com/ztcad namespace ztcad.ThCad { [LicensableModule] public class Plugin : BasePlugin { privatereadonly 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() { returntrue; } /// <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(); } } }