ReferencesEvents インターフェイス
更新 : 2007 年 11 月
プロジェクト参照の追加、削除、または変更によって発生するイベントにアクセスする手段を提供します。このオブジェクトを使用して機能を提供します。このオブジェクトのドキュメントについては、ReferencesEventsClass を参照してください。
名前空間 : VSLangProj
アセンブリ : VSLangProj (VSLangProj.dll 内)
構文
'宣言
<GuidAttribute("1CF40C9E-D548-4B45-AD0F-3D7843F62BBB")> _
Public Interface ReferencesEvents _
Implements _ReferencesEvents, _dispReferencesEvents_Event
'使用
Dim instance As ReferencesEvents
[GuidAttribute("1CF40C9E-D548-4B45-AD0F-3D7843F62BBB")]
public interface ReferencesEvents : _ReferencesEvents,
_dispReferencesEvents_Event
[GuidAttribute(L"1CF40C9E-D548-4B45-AD0F-3D7843F62BBB")]
public interface class ReferencesEvents : _ReferencesEvents,
_dispReferencesEvents_Event
public interface ReferencesEvents extends _ReferencesEvents, _dispReferencesEvents_Event
解説
ReferencesEvents オブジェクトには、VSProject オブジェクトまたは DTE オブジェクトからアクセスできます。VSProject オブジェクトを使用して各プロジェクトの ReferencesEvents オブジェクトにアクセスすることにより、そのプロジェクトのイベントにアクセスできます。DTE オブジェクトの ReferencesEvents オブジェクトは、個々のプロジェクトのイベント、またはソリューション内のすべての Visual Basic プロジェクトのイベントにアクセスする場合に使用できます。
例
VSProject オブジェクトを使用して 1 つのプロジェクトのイベントにアクセスする場合は、「ReferencesEvents」を参照してください。
次の 2 つの例では、遅延バインディングによる VBReferencesEvents プロパティを使用して、Visual Basic プロジェクトのイベントにアクセスしています。Visual C# のイベントに接続する場合は、CSharpReferencesEvents を使用します。
イベントを処理するために 2 つの遅延バインディングによるメソッドを使用します。最初のメソッドは、特定のプロジェクトのイベントにアクセスするために使用され、コンパイル時に Option Strict Off ステートメントを必要とします。このメソッドは、VBReferencesEvents 呼び出しのパラメータが Project 型でない場合にエラーを返します。VBImportsEvents のパラメータは省略できます。省略すると、ソリューション内のすべての Visual Basic プロジェクトのイベントを受け取ります。
' Macro editor
Imports VSLangProj
Option Strict Off
Dim WithEvents refEvents As ReferencesEvents
Sub ConnectProjectRefEvents()
' Must have Option Strict Off
Dim proj As Project = DTE.Solution.Projects.Item(1)
refEvents = DTE.Events.VBReferencesEvents(proj)
End Sub
Public Sub refEvents_ReferenceAdded(ByVal pReference _
As VSLangProj.Reference) Handles refEvents.ReferenceAdded
MsgBox(pReference.Name)
End Sub
もう 1 つの遅延バインディングによるメソッドは、ソリューション内のすべてのプロジェクトのイベントに対してイベント処理メソッドを追加するために使用されます。この方法では、特定のプロジェクトだけに対してイベントをフィルタすることはできません。Option Strict On でコンパイルされます。
' Macro editor
Imports VSLangProj
Dim WithEvents refEvents As ReferencesEvents
Sub ConnectAllRefEvents()
refEvents = CType(DTE.Events.GetObject("VBReferencesEvents"), _
ReferencesEvents)
End Sub
Public Sub refEvents_ReferenceAdded(ByVal pReference _
As VSLangProj.Reference) Handles refEvents.ReferenceAdded
MsgBox(pReference.Name)
End Sub