この記事は翻訳者によって翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。
訳文
原文
このトピックはまだ評価されていません - このトピックを評価する

Globals.VariablePersists プロパティ

VariablePersists プロパティは、複数の型の Globals オブジェクトに適用されます。 DTE.Globals オブジェクトの場合は、変数が環境によって保持され、環境のセッション間で利用できるかどうかを取得または設定します。 Solution.Globals オブジェクトの場合は、変数が環境によって保持され、環境のセッション間およびソリューションの読み込みとアンロード間で利用できるかどうかを取得または設定します。 Project.Globals オブジェクトの場合は、変数が環境によってプロジェクト ファイルに保持されるかどうかを取得または設定します。

名前空間:  EnvDTE
アセンブリ:  EnvDTE (EnvDTE.dll 内)
bool this[
	string VariableName
] { get; set; }

パラメーター

VariableName
型: System.String
必ず指定します。 保持する変数名を表します。

プロパティ値

型: System.Boolean
変数が存在するかどうかを示すブール値。 VariablePersists は、変数が存在する場合は true を返し、それ以外の場合は false を返します。

グローバル変数は、Visual Studio のセッション内では常に保持されますが、VariablePersists を使用すると、セッション間でも変数が保持されます。

メモ メモ

変数を特定のソリューションと共に保存するには、DTE.Solution.Globals を使用します。

変数が存在しない場合、VariablePersistsfalse を返します。

Solution オブジェクト (Solution.Globals) の場合は、ソリューションが保存されるたびにデータが保存されます。 Globals オブジェクトを変更すると、ソリューション ファイルが編集済み (または "ダーティ") としてマークされます。 DTE オブジェクト (DTE.Globals) の場合は、Visual Studio 環境がシャットダウンされるか、ソリューションが保存されると、データが保存されます。 どちらの場合も、ユーザー プロファイル ディレクトリのソリューション (.sln) ファイルまたは構造化ストレージ ファイルにデータが格納されます。

環境がシャットダウンされるか、Save All が実行されると、すべてのグローバル値が保存されます。 VariablePersistsDTE オブジェクトに関連付けられている場合、値は、Visual Studio 環境のユーザー オプション ディレクトリに保存されます。

グローバル変数が Solution オブジェクトに関連付けられている場合、値は、ソリューション (.sln) ファイルに保存されます。 値は、環境が .sln ファイルを書き込むたびに保存されます。

以前に保存していた値は、保存する変数で上書きされます。 保存済みファイルから変数を削除するには、VariablePersistsfalse に設定します。 環境は、次の Save の操作時に値を削除します。

メモ メモ

VariableValue の名前に空白を含めることはできません。 空白を含めると、"値が有効な範囲にありません。" というエラーが示されます。

void OnAddinLoaded(_DTE applicationObject)
{
    // Count the number of times an add-in is loaded
    // and store the value in the solution.
    Globals globals;
    globals = applicationObject.Solution.Globals;
    if(globals.get_VariableExists("AddinLoadCounter"))
    {
        // The counter has already been set, so increment it.
        System.Int32 int32;
        int32 = System.Int32.Parse((string)
        globals["AddinLoadCounter"]);
        int32++;
        globals["AddinLoadCounter"] = int32.ToString();
    }
    else
    {
        // Counter has never been set, so create and initialize it.
        globals["AddinLoadCounter"] = 1.ToString();
        globals.set_VariablePersists("AddinLoadCounter", true);
    }
    System.Windows.Forms.MessageBox.Show("This add-in has been loaded: 
    " + globals.VariableValue["AddinLoadCounter"] + " times.");
}
  • 直前の呼び出し元に対する完全な信頼。 このメンバーは、部分的に信頼されているコードから使用することはできません。 詳細については、「部分信頼コードからのライブラリの使用」を参照してください。
この情報は役に立ちましたか。
(残り 1500 文字)
コミュニティ コンテンツ 追加
注釈 FAQ