[AddIn("S", Version="4", Publisher="aaa", Description="...")]
public partial class ISTARSServices : STARS.InternalInterfaces.VSTAItf.ISTARSServices {
private MyAddin m_MyAddin;
private void ISTARSServices_Startup(object sender, EventArgs e) {
m_MyAddin = new MyAddin();
m_MyAddin.Run(this); // 關鍵:將宿主服務實例傳遞給插件核心
}
private void ISTARSServices_Shutdown(object sender, EventArgs e) {
(m_MyAddin as IDisposable)?.Dispose(); // 清理資源
}
}
ISTARSServices 為 VSTA 生成的宿主服務類。ISTARSServices 接口的宿主實例傳給插件核心,插件通過該接口調用宿主 API (如訪問文檔、UI、設備)。推測為某工業/測控軟件平台 (如 STAR(S) CCM+、National Instruments TestStand 等) 的自動化接口命名空間。具體需查閱對應 SDK 文檔。
ISTARSServices 暴露的方法/屬性/事件。MyAddin 類源碼 (若開源) 或反編譯,掌握 Run 內部邏輯。System.AddIn (MAF) 與 VSTA 區別:前者獨立進程隔離,後者進程內腳本宿主。