次の方法で共有


Solution2.Globals プロパティ

Globals オブジェクトを取得します。このオブジェクトには、ソリューション ファイル (.sln)、プロジェクト ファイル、またはユーザーのプロファイル データに保存できる任意の変数値が含まれます。

名前空間:  EnvDTE80
アセンブリ:  EnvDTE80 (EnvDTE80.dll 内)

構文

'宣言
ReadOnly Property Globals As Globals
Globals Globals { get; }
property Globals^ Globals {
    Globals^ get ();
}
abstract Globals : Globals with get
function get Globals () : Globals

プロパティ値

型 : Globals
Globals オブジェクト。

解説

アドインは、ソリューションを読み込むときに入手できます。

Globals は、必ずしもアドインに関連付けられるとは限りません。また、これらは、マクロやその他のオートメーション クライアントに関連付けられる場合もあります。

このアドイン コードの実行方法については、「方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する」を参照してください。

開いているソリューションにグローバル変数を追加し、そのソリューションのすべてのグローバル変数を表示する例を次に示します。

Public Sub OnConnection(ByVal application As Object, _
 ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
 ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
    GlobalsExample(_applicationObject)
End Sub

Sub GlobalsExample(ByVal dte As DTE2)
    ' This add-in adds a global variable to a solution and
    ' displays it.
    ' Open a solution in 
    ' Visual Studio before running this example.
    Try
        Dim soln As Solution2 =  _
        CType(_applicationObject.Solution, Solution2)
        Dim solnName As String = _
        System.IO.Path.GetFileNameWithoutExtension(soln.FullName)
        Dim globals As String = ""
        MsgBox("Adding global variable TempGlobal = ""TempValue""")
        soln.Globals.VariableValue("TempGlobal") = "TempValue"
        Dim names() As Object =  _
        CType(soln.Globals.VariableNames, Object())
        Dim name As String
        For Each name In names
            globals &= "    " & name & " = """ & _
            soln.Globals.VariableValue(name).ToString() & """" & vbCrLf
        Next
        MsgBox("Solution " & solnName & _
        " has the following global variables:" & _
        vbCrLf & vbCrLf & globals)
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub
//you will need to add this reference to your project as well
using System.Windows.Forms;
public void OnConnection(object application,
 Extensibility.ext_ConnectMode connectMode, object addInInst,
 ref System.Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    // Pass the applicationObject member variable to the code example.
    GlobalsExample((DTE2)_applicationObject);
}
public void GlobalsExample(DTE2 dte)
{
    // This add-in adds a global variable to the solution and 
    // displays it. 
    // Open a solution in 
    // Visual Studio before running this example.
    try
    {
        Solution2 soln = (Solution2)_applicationObject.Solution;
        string solnName =
 System.IO.Path.GetFileNameWithoutExtension(soln.FullName);
        MessageBox.Show
("Adding global variable TempGlobal = \"TempValue\"");
        soln.Globals["TempGlobal"] = "TempValue";
        object[] names = (object[])soln.Globals.VariableNames; 
        string globals = "";
        foreach (string name in names)
            globals += "    " + name + " = \"" 
+ soln.Globals[name].ToString() + "\"\n";
        MessageBox.Show("Solution " + solnName 
+ " has the following global variables:\n\n" + globals);
    }
    catch(SystemException ex)
    {
        MessageBox.Show("ERROR: " + ex);
    }
}

.NET Framework セキュリティ

  • 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

関連項目

Solution2 インターフェイス

EnvDTE80 名前空間

その他の技術情報

方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する