Solution2.Globals プロパティ
Globals オブジェクトを取得します。このオブジェクトには、ソリューション ファイル (.sln)、プロジェクト ファイル、またはユーザーのプロファイル データに保存できる任意の変数値が含まれます。
名前空間: EnvDTE80
アセンブリ: EnvDTE80 (EnvDTE80.dll 内)
構文
'宣言
ReadOnly Property Globals As Globals
Globals Globals { get; }
property Globals^ Globals {
Globals^ get ();
}
abstract Globals : Globals
function get Globals () : Globals
プロパティ値
型 : EnvDTE.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 セキュリティ
- 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。