ImportsEvents インターフェイス
プロジェクトの Imports ステートメントが Visual Basic プロジェクトに追加されたときや Visual Basic プロジェクトから削除されたときに発生するイベントにアクセスする手段を提供します。このオブジェクトを使用して機能を提供します。このオブジェクトのドキュメントについては、ImportsEventsClass を参照してください。
名前空間: VSLangProj
アセンブリ: VSLangProj (vslangproj.dll 内)
構文
'宣言
<GuidAttribute("037AD859-7A75-4CF3-8A38-83D6E045FEE3")> _
Public Interface ImportsEvents
Inherits _ImportsEvents, _dispImportsEvents_Event
'使用
Dim instance As ImportsEvents
[GuidAttribute("037AD859-7A75-4CF3-8A38-83D6E045FEE3")]
public interface ImportsEvents : _ImportsEvents, _dispImportsEvents_Event
[GuidAttribute(L"037AD859-7A75-4CF3-8A38-83D6E045FEE3")]
public interface class ImportsEvents : _ImportsEvents, _dispImportsEvents_Event
/** @attribute GuidAttribute("037AD859-7A75-4CF3-8A38-83D6E045FEE3") */
public interface ImportsEvents extends _ImportsEvents, _dispImportsEvents_Event
GuidAttribute("037AD859-7A75-4CF3-8A38-83D6E045FEE3")
public interface ImportsEvents extends _ImportsEvents, _dispImportsEvents_Event
解説
ImportsEvents オブジェクトには、VSProject オブジェクトまたは DTE オブジェクトからアクセスできます。VSProject オブジェクトを使用して各プロジェクトの ImportsEvents オブジェクトにアクセスすることにより、そのプロジェクトのイベントにアクセスできます。DTE オブジェクトの ImportsEvents オブジェクトは、個々のプロジェクトのイベント、またはソリューション内のすべての Visual Basic プロジェクトのイベントにアクセスする場合に使用できます。
使用例
次の 2 つの例では、遅延バインディングによる VBImportsEvents プロパティを使用して、Visual Basic プロジェクトのイベントにアクセスしています。
イベントを処理するために 2 つの遅延バインディングによるメソッドを使用します。最初のメソッドは、特定のプロジェクトのイベントにアクセスするために使用され、コンパイル時に Option Strict Off
ステートメントを必要とします。このメソッドは、VBImportsEvents 呼び出しのパラメータが Project 型でない場合にエラーを返します。VBImportsEvents のパラメータは省略できます。省略すると、ソリューション内のすべての Visual Basic プロジェクトのイベントを受け取ります。
' Macro editor
Option Strict Off
Imports VSLangProj
Dim WithEvents importEvents As ImportsEvents
Sub ConnectAllImportEvents()
Dim proj As Project = DTE.Solution.Projects.Item(1)
importEvents = DTE.Events.VBImportsEvents(proj)
End Sub
Public Sub importEvents_ImportAdded(ByVal bstrImport As String) _
Handles importEvents.ImportAdded
MsgBox(bstrImport)
End Sub
もう 1 つの遅延バインディングによるメソッドは、ソリューション内のすべてのプロジェクトのイベントに対してイベント処理メソッドを追加するために使用されます。この方法では、特定のプロジェクトだけに対してイベントをフィルタすることはできません。Option Strict On
でコンパイルされます。
' Macro editor
Imports VSLangProj
Dim WithEvents importEvents As ImportsEvents
Sub ConnectProjectImportEvents()
importEvents = CType(DTE.Events.GetObject("VBImportsEvents"), _
ImportsEvents)
End Sub
Public Sub importEvents_ImportAdded(ByVal bstrImport As String) _
Handles importEvents.ImportAdded
MsgBox(bstrImport)
End Sub