Практическое руководство. Получение и задание свойств области приложения

В этом примере демонстрируется получение и задание свойств области приложения с помощью Properties.

Пример

Application предоставляет хранилище данных для свойств, которые могут использоваться совместно по всему AppDomain: Properties:

Хранилище данных свойства представляет собой словарь пар ключ/значение, которые могут быть использованы как:

      ' Set an application-scope property
      Application.Current.Properties("MyApplicationScopeProperty") = "myApplicationScopePropertyValue"
// Set an application-scope property
Application.Current.Properties["MyApplicationScopeProperty"] = "myApplicationScopePropertyValue";
      ' Get an application-scope property
      ' NOTE: Need to convert since Application.Properties is a dictionary of System.Object
      Dim myApplicationScopeProperty As String = CStr(Application.Current.Properties("MyApplicationScopeProperty"))
// Get an application-scope property
// NOTE: Need to convert since Application.Properties is a dictionary of System.Object
string myApplicationScopeProperty = (string)Application.Current.Properties["MyApplicationScopeProperty"];

Существуют два соглашения при использовании Properties. Первое — словарь ключ является объектом, поэтому вам необходимо использовать один и тот же экземпляр объекта, при установке и получении значения свойства (следует отметить, что ключ является регистро-зависимым, при использовании строкового ключа). Второе — словарь значение является объектом, поэтому вам необходимо будет преобразовать значение в требуемый тип при получении значения свойства.

Поскольку значение словаря является объектом, вы можете так же легко использовать пользовательские типы, как простые типы, следующим образом:

      ' Set an application-scope property with a custom type
      Dim customType As New CustomType()
      Application.Current.Properties("CustomType") = customType
// Set an application-scope property with a custom type
CustomType customType = new CustomType();
Application.Current.Properties["CustomType"] = customType;
      ' Get an application-scope property
      ' NOTE: Need to convert since Application.Properties is a dictionary of System.Object
      Dim customType As CustomType = CType(Application.Current.Properties("CustomType"), CustomType)
// Get an application-scope property
// NOTE: Need to convert since Application.Properties is a dictionary of System.Object
CustomType customType = (CustomType)Application.Current.Properties["CustomType"];

См. также

Ссылки

IDictionary