VSProjectEvents.BuildManagerEvents プロパティ
BuildManager イベントにアクセスできるようにする BuildManagerEvents オブジェクトを取得します。
名前空間: VSLangProj
アセンブリ: VSLangProj (vslangproj.dll 内)
構文
'宣言
ReadOnly Property BuildManagerEvents As BuildManagerEvents
'使用
Dim instance As VSProjectEvents
Dim value As BuildManagerEvents
value = instance.BuildManagerEvents
BuildManagerEvents BuildManagerEvents { get; }
property BuildManagerEvents^ BuildManagerEvents {
BuildManagerEvents^ get ();
}
/** @property */
BuildManagerEvents get_BuildManagerEvents ()
function get BuildManagerEvents () : BuildManagerEvents
プロパティ値
BuildManagerEvents オブジェクトを返します。
解説
BuildManager イベントは、カスタム ツールに関連付けられているプロジェクト項目への変更を追跡するために使用されます。DesignTimeOutputDirty は、プロジェクト項目が追加または変更されていることを示します。DesignTimeOutputDeleted は、プロジェクト項目が削除されていることを示します。詳細については、「BuildManager」を参照してください。
使用例
Events オブジェクトを使用して、特定のプロジェクトの DesignTimeOutputDeleted および DesignTimeOutputDirty に、イベント処理メソッドを関連付ける例を次に示します。
' Macro Editor
' Connects events in a Visual Basic or Visual C# project.
Imports VSLangProj
Sub ConnectEvents()
Dim proj As Project = DTE.Solution.Projects.Item(1)
Dim vsproj As VSProject = CType(proj.Object, VSProject)
Dim buildman As BuildManagerEvents = vsproj.Events.BuildManagerEvents
AddHandler buildman.DesignTimeOutputDeleted, AddressOf OutputDeleted
AddHandler buildman.DesignTimeOutputDirty, AddressOf OutputDirty
End Sub
Sub OutputDeleted(ByVal moniker As String)
MsgBox("Output " & moniker & " was deleted.")
End Sub
Sub OutputDirty(ByVal moniker As String)
MsgBox("Output " & moniker & " is dirty.")
End Sub
次の 2 つの例では、遅延バインディングによる VBBuildManagerEvents プロパティを使用して、Visual Basic プロジェクトのイベントにアクセスしています。Visual C# のイベントにアクセスする場合は、CSharpBuildManagerEvents プロパティを使用します。
また、BuildManager オブジェクトのイベントを処理するために、2 つの遅延バインディングによるメソッドも使用します。最初のメソッドは、特定のプロジェクトのイベントを処理するために使用され、コンパイル時に Option Strict Off
ステートメントを必要とします。VBImportsEvents のパラメータは省略できます。省略すると、ソリューション内のすべての Visual Basic プロジェクトのイベントを受け取ります。このメソッドは、VBBuildManagerEvents 呼び出しのパラメータが Project 型でない場合にエラーを返します。
' Macro editor
Option Strict Off
Imports VSLangProj
Dim WithEvents buildEvents As BuildManagerEvents
Sub ConnectProjectBuildManagerEvents()
Dim proj As Project = DTE.Solution.Projects.Item(1)
buildEvents = DTE.Events.VBBuildManagerEvents(proj)
End Sub
Public Sub buildEvents_DesignTimeOutputDeleted(ByVal bstrOutputMoniker _
As String) Handles buildEvents.DesignTimeOutputDeleted
MsgBox(bstrOutputMoniker)
End Sub
もう 1 つの遅延バインディングによるメソッドは、ソリューション内のすべてのプロジェクトのイベントに対して応答するために使用されます。この方法では、特定のプロジェクトだけに対してイベントをフィルタすることはできません。Option Strict On
でコンパイルされます。
' Macro editor
Imports VSLangProj
Dim WithEvents buildEvents As VSLangProj.BuildManagerEvents
Sub ConnectAllBuildManagerEvents()
buildEvents = CType(DTE.Events.GetObject("VBBuildManagerEvents"), _
BuildManagerEvents)
End Sub
Public Sub buildEvents_DesignTimeOutputDeleted(ByVal bstrOutputMoniker _
As String) Handles buildEvents.DesignTimeOutputDeleted
MsgBox(bstrOutputMoniker)
End Sub
参照
関連項目
VSProjectEvents インターフェイス
VSProjectEvents メンバ
VSLangProj 名前空間