Globals.VariablePersists - свойство
Свойство VariablePersists применяется к объектам Globals нескольких типов. Для объекта DTE.Globals оно возвращает или задает сведения о том, сохраняется ли переменная средой и доступно ли ее значение между сеансами среды. Для объекта Solution.Globals оно возвращает или задает сведения о том, сохраняется ли переменная средой и доступна ли ее значение между сеансами среды и загрузкой и выгрузкой решения. Для объекта Project.Globals оно возвращает или задает сведения о том, сохраняется ли переменная средой в файле проекта.
Пространство имен: EnvDTE
Сборка: EnvDTE (в EnvDTE.dll)
Синтаксис
'Декларация
Property VariablePersists ( _
VariableName As String _
) As Boolean
bool this[
string VariableName
] { get; set; }
property bool VariablePersists[String^ VariableName] {
bool get (String^ VariableName);
void set (String^ VariableName, bool value);
}
abstract VariablePersists :
VariableName:string -> bool with get, set
JScript не поддерживает индексированные свойства.
Параметры
VariableName
Тип: StringОбязательный. Представляет имя переменной, которую требуется сохранить.
Значение свойства
Тип: Boolean
Логическое значение, которое указывает, существует ли переменная.Свойство VariablePersists возвращает значение true, если переменная существует; в противном случае оно возвращает значение false.
Заметки
Хотя глобальные переменные сохраняются в сеансах Visual Studio, свойство VariablePersists позволяет сохранять их и между сеансами.
Примечание
Для сохранения переменных вместе с конкретным решением используется объект DTE.Solution.Globals.
Если переменная не существует, то свойство VariablePersists возвращает значение false.
В случае объекта Solution (Solution.Globals) данные сохраняются при каждом сохранении решения. Изменение объекта Globals приведет к тому, что файл решения будет помечен как отредактированный ("измененный"). В случае объекта DTE (DTE.Globals) данные сохраняются либо при завершении работы среды Visual Studio, либо при сохранении решения. В обоих случаях данные записываются либо в файл решения (SLN), либо в файл структурированного хранилища в папке профилей пользователей.
Когда завершается работа среды или выполняется операция Save All, сохраняются все глобальные значения. Если свойство VariablePersists связано с объектом DTE, значение сохраняется в папке параметров пользователей среды Visual Studio.
Если глобальная переменная связана с объектом Solution, значение сохраняется в файле решения (SLN). Значения сохраняются при каждой записи SLN-файла.
При сохранении переменных ранее сохраненные значения заменяются. Для удаления переменной из сохраненного файла следует присвоить свойству VariablePersists значение false. Значение переменной будет удалено в ходе следующей операции сохранения (Save).
Примечание
Имена VariableValue не могут содержать пробелы.Если в имени содержится этот знак, произойдет ошибка "Значение не попадает в ожидаемый диапазон".
Примеры
Sub OnAddinLoaded(ByVal dte As DTE)
' Count the number of times an add-in is loaded
' and store the value in the solution.
Dim globals As Globals
globals = dte.Solution.Globals
If globals.VariableExists("AddinLoadCounter") Then
' The counter has already been set, so increment it.
Dim int32 As System.Int32
int32 = System.Int32.Parse(CStr(globals("AddinLoadCounter")))
int32 += 1
globals("AddinLoadCounter") = int32.ToString()
Else
' Counter has never been set, so create and initialize it.
globals("AddinLoadCounter") = 1.ToString()
globals.VariablePersists("AddinLoadCounter") = True
End If
MsgBox("This add-in has been loaded: " & _
globals.VariableValue("AddinLoadCounter") & " times.")
End Sub
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.");
}
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Для получения дополнительной информации см. Использование библиотек из не вполне надежного кода.
См. также
Ссылки
Другие ресурсы
Сохранение сведений в проектах и решениях
Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации