Procedura: ottenere e impostare le proprietà dell'ambito dell'applicazione

In questo esempio viene illustrato come ottenere e impostare le proprietà dell'ambito dell'applicazione tramite Properties.

Esempio

Application espone un archivio dati per proprietà che è possibile condivire attraverso un AppDomain: Properties.

L'archivio dati delle proprietà è un dizionario di coppie chiave/valore che è possibile utilizzare come illustrato di seguito:

      ' 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"];

È necessario considerare due punti quando si utilizza la proprietà Properties. Innanzitutto, la chiave del dizionario è un oggetto, pertanto è necessario utilizzare esattamente la stessa istanza dell'oggetto sia quando si imposta sia quando si ottiene un valore della proprietà (si noti che la chiave rileva la differenza tra maiuscole e minuscole in caso di utilizzo di una chiave di stringa). In secondo luogo, il valore del dizionario è un oggetto, pertanto è necessario convertire il valore nel tipo desiderato quando si ottiene un valore della proprietà.

Poiché il valore del dizionario è un oggetto, è possibile utilizzare tanto facilmente i tipi personalizzati quanto i tipi semplici, come illustrato di seguito:

      ' 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"];

Vedere anche

Riferimenti

IDictionary