IDTExtensibility2.OnAddInsUpdate 方法
更新:2007 年 11 月
每当从 Visual Studio 集成开发环境 (IDE) 加载或卸载外接程序时发生。
命名空间: Extensibility
程序集: Extensibility(在 Extensibility.dll 中)
语法
声明
Sub OnAddInsUpdate ( _
ByRef custom As Array _
)
用法
Dim instance As IDTExtensibility2
Dim custom As Array
instance.OnAddInsUpdate(custom)
void OnAddInsUpdate(
ref Array custom
)
void OnAddInsUpdate(
[InAttribute] Array^% custom
)
function OnAddInsUpdate(
custom : Array
)
参数
custom
类型:System.Array%一个空数组,可用来传递在外接程序中使用的特定于主机的数据。
备注
此方法最常用于强制对其他外接程序的依赖。也就是说,如果一个外接程序要求其他外接程序(或其他程序)存在才能正常运行,则可以使用此方法检查状态。
在该会话中第一次在环境中加载外接程序时,以及每当单击“外接程序管理器”中的“确定”按钮时,外接程序会触发 OnAddInsUpdate 事件。当外接程序由命令加载或通过其 Connected 属性加载时,不会触发该事件。
若要获取已更改的外接程序的名称,请循环访问 AddIns 集合并检查每个外接程序的 Connected 属性。可以使用每个外接程序的 ProgID 或从 1 开始的索引值来访问这些外接程序。如果索引不存在,则发生“无效索引”COMException 错误。否则,返回 AddIn 引用。
示例
Public Sub OnAddInsUpdate(ByRef custom As Array)
Try
Dim addIn As AddIn = applicationObject.AddIns. _
Item("MyAddin1.Connect")
If addInInstance.Connected = True Then
System.Windows.Forms.MessageBox.Show("This add-in is _
connected.")
Else
System.Windows.Forms.MessageBox.Show("This add-in is not _
connected.")
End If
Catch ex As Runtime.Interop.COMException
System.Windows.Forms.MessageBox.Show("Not a registered add- _
in.")
End Try
End Sub
public void OnAddInsUpdate(ref Array custom)
{
try
{
AddIn addIn = this.dte.addins.item("MyAddin1.Connect");
if (addInInstance.Connected == true)
{
System.Windows.Forms.MessageBox.Show("This add-in is
connected.");
}
else
{
System.Windows.Forms.MessageBox.Show("This add-in is not
connected.");
}
}
catch (COMException)
{
System.Windows.Forms.MessageBox.Show("Not a registered add-
in.");
}
}
权限
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。