Comment : obtenir et définir des propriétés de portée application
Cet exemple montre comment obtenir et définir en même temps les propriétés de portée d'application à l'aide de Properties.
Exemple
Application expose un magasin de données pour les propriétés qui peuvent être partagées à travers un AppDomain: Properties.
Le magasin de données de propriété est un dictionnaire de paires clé/valeur qui peuvent être utilisées ainsi :
' 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"];
Il y a deux considérations à faire lors de l'utilisation de Properties. En premier lieu, la clé de dictionnaire est un objet, vous devez donc utiliser exactement la même instance d'objet lors du paramétrage et de l'obtention d'une valeur de propriété (notez que la clé respecte la casse lors de l'utilisation d'une clé de chaîne). En second lieu, la valeur de dictionnaire est un objet, vous devrez donc la convertir en type souhaité lors de l'obtention d'une valeur de propriété.
Comme la valeur de dictionnaire est un objet, vous pouvez utiliser les types personnalisés aussi simplement que les types simples, comme suit :
' 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"];