PropertySet Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente un jeu de propriétés, qui est un ensemble d’objets PropertyValue avec des clés de chaîne.
public ref class PropertySet sealed : IIterable<IKeyValuePair<Platform::String ^, Platform::Object ^> ^>, IMap<Platform::String ^, Platform::Object ^>, IObservableMap<Platform::String ^, Platform::Object ^>, IPropertySet
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.FoundationContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.FoundationContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class PropertySet final : IIterable<IKeyValuePair<winrt::hstring, IInspectable const&>>, IMap<winrt::hstring, IInspectable const&>, IObservableMap<winrt::hstring, IInspectable const&>, IPropertySet
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.FoundationContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.FoundationContract")]
class PropertySet final : IIterable<IKeyValuePair<winrt::hstring, IInspectable const&>>, IMap<winrt::hstring, IInspectable const&>, IObservableMap<winrt::hstring, IInspectable const&>, IPropertySet
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.FoundationContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.FoundationContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class PropertySet : IDictionary<string,object>, IEnumerable<KeyValuePair<string,object>>, IObservableMap<string,object>, IPropertySet
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.FoundationContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.FoundationContract")]
public sealed class PropertySet : IDictionary<string,object>, IEnumerable<KeyValuePair<string,object>>, IObservableMap<string,object>, IPropertySet
function PropertySet()
Public NotInheritable Class PropertySet
Implements IDictionary(Of String, Object), IEnumerable(Of KeyValuePair(Of String, Object)), IObservableMap(Of String, Object), IPropertySet
- Héritage
- Attributs
- Implémente
-
IMap<K,V> IDictionary<K,V> IMap<String,Object> IDictionary<String,Object> IMap<Platform::String,Platform::Object> IMap<winrt::hstring,IInspectable> IIterable<IKeyValuePair<K,V>> IEnumerable<KeyValuePair<K,V>> IIterable<IKeyValuePair<String,Object>> IEnumerable<KeyValuePair<String,Object>> IIterable<IKeyValuePair<Platform::String,Platform::Object>> IIterable<IKeyValuePair<winrt::hstring,IInspectable>> IObservableMap<String,Object> IObservableMap<Platform::String,Platform::Object> IObservableMap<winrt::hstring,IInspectable> IPropertySet
Configuration requise pour Windows
Famille d’appareils |
Windows 10 (introduit dans 10.0.10240.0)
|
API contract |
Windows.Foundation.FoundationContract (introduit dans v1.0)
|
Remarques
Cette classe implémente une carte (l’interface IMap<K,V> ) avec des clés de type String et des valeurs de type PropertyValue. Le type PropertySet permet à différentes API Windows Runtime de renvoyer une collection de valeurs mixtes qui peuvent toujours être itérées ou inspectées à l’aide des API de collection courante de PropertySet, qui correspondent à celles de la collection IMap<K, V>, IDictionary<TKey, TValue> ou des techniques de collection et d’énumération JavaScript, selon le langage utilisé par votre application.
PropertyValue est une classe qui prend en charge un grand nombre de méthodes Create* statiques qui créent une valeur délibérément non typée à partir d’une entrée qui est généralement un type valeur ou primitive (booléen, nombres, etc.) ou un tableau de ces valeurs. Une fois que l’une des méthodes PropertyValue statiques est appelée, sa valeur de retour peut être traitée comme une instance PropertyValue (toutefois, les méthodes Create* renvoient techniquement un Objet si vous examinez les signatures).
Toutefois, vous n’utilisez généralement pas un PropertySet d’une manière qui vous oblige à remplir vous-même les valeurs PropertyValue dans l’ensemble. Au lieu de cela, vous obtenez généralement un PropertySet rempli en tant que valeur de retour à partir d’une API Windows Runtime qui fournit une collection où les types de valeurs qu’elle contient peuvent être mixtes, mais sont toujours liés les uns aux autres par origine ou scénario. Par exemple, les valeurs LocalSettings et RoamingSettings que vous obtenez lorsque vous récupérez des données d’application sont de type ApplicationDataContainer, et chacune contient un PropertySet comme valeur de propriété Values . Lorsque vous interagissez avec des données d’application qui stockent des paramètres, vous obtenez généralement la collection à partir d’ApplicationDataContainer.Values. Vous pouvez alors :
- itérer sur le jeu à l’aide de la syntaxe d’itération appropriée
- utiliser HasKey/ContainsKey pour vérifier l’existence d’un PropertyValue dans le jeu
- utiliser La recherche ou l’indexeur d’éléments pour récupérer un élément une fois que vous savez qu’il existe
Pour les scénarios tels que l’utilisation de données d’application, lorsque vous disposez d’un PropertySet, vous l’avez par référence. Par conséquent, si vous ajoutez des éléments au PropertySet à l’aide de l’option Ajouter/Insérer , ces éléments seront ajoutés aux données de l’application, et la suppression d’éléments les supprime des données d’application. Toutes ces modifications sont ensuite partagées via les mécanismes de données de l’application, si elles sont apportées à RoamingSettings.
Il existe d’autres API Windows Runtime qui utilisent une valeur PropertySet comme valeur directe au lieu d’être encapsulées dans une autre classe comme ApplicationDataContainer. Par exemple, CoreApplication.Properties renvoie un PropertySet.
Diverses propriétés qui signalent des informations à partir de médias et d’appareils utilisent PropertySet, par exemple PlayToReceiver.Properties. Toutefois, il existe d’autres jeux de propriétés media/devices qui n’utilisent pas PropertySet et utilisent plutôt MediaPropertySet, car l’identificateur de ces propriétés est mieux représenté lorsqu’ils sont keyés sous la forme d’un GUID plutôt que d’une chaîne.
Dans de nombreux cas où une API Windows Runtime utilise un PropertySet comme valeur, il est en fait affiché en tant que IPropertySet dans les signatures. PropertySet peut être considéré comme l’implémentation pratique d’IPropertySet prête à être utilisée par le code de l’application. Le code JavaScript peut traiter n’importe quelle valeur IPropertySet comme s’il implémentait les prototypes PropertySet.
Listes de membres de la collection
Pour JavaScript, PropertySet prend en charge l’utilisation d’un index pour accéder aux éléments.
Constructeurs
PropertySet() |
Crée et initialise une nouvelle instance du jeu de propriétés. |
Propriétés
Size |
Obtient le nombre d’éléments contenus dans le jeu de propriétés. |
Méthodes
Clear() |
Supprime tous les éléments du jeu de propriétés. |
First() |
Retourne un itérateur pour énumérer les éléments dans le jeu de propriétés. |
GetView() |
Obtient une vue immuable du jeu de propriétés. |
HasKey(String) |
Indique si le jeu de propriétés a un élément avec la clé spécifiée. |
Insert(String, Object) |
Ajoute un élément au jeu de propriétés. |
Lookup(String) |
Récupère la valeur de la clé spécifiée. |
Remove(String) |
Supprime un élément du jeu de propriétés. |
Événements
MapChanged |
Se produit lorsque la carte observable a changé. |