PropertySet Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa un conjunto de propiedades, que es un conjunto de objetos PropertyValue con claves de cadena.
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
- Herencia
- Atributos
- Implementaciones
-
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
Requisitos de Windows
Familia de dispositivos |
Windows 10 (se introdujo en la versión 10.0.10240.0)
|
API contract |
Windows.Foundation.FoundationContract (se introdujo en la versión v1.0)
|
Comentarios
Esta clase implementa un mapa (la interfaz IMap<K,V> ) con claves de tipo String y valores de tipo PropertyValue. El tipo PropertySet permite que varias API de Windows Runtime devuelvan una colección de valores mixtos que todavía se pueden iterar o inspeccionar mediante las API de colección comunes de PropertySet, que coinciden con las de IMap<K,V>, IDictionary<TKey,TValue> o técnicas de enumeración de JavaScript, según el lenguaje que use la aplicación.
PropertyValue es una clase que admite un gran número de métodos Create* estáticos que crean un valor deliberadamente sin tipo a partir de una entrada que suele ser un tipo de valor o primitivo (booleano, números, etc.) o una matriz de esos valores. Una vez que se llama a uno de los métodos PropertyValue estáticos, su valor devuelto se puede tratar como una instancia de PropertyValue (sin embargo, los métodos Create* devuelven técnicamente un objeto si examina las firmas).
Sin embargo, normalmente no se usa un PropertySet de una manera que requiera rellenar los valores PropertyValue del conjunto. En su lugar, normalmente se obtiene un PropertySet rellenado como un valor devuelto de una API de Windows Runtime que proporciona una colección en la que los tipos de valor dentro de él pueden ser mixtos, pero siguen relacionados entre sí por origen o escenario. Por ejemplo, los valores LocalSettings y RoamingSettings que se obtienen al recuperar datos de la aplicación son de tipo ApplicationDataContainer y cada uno contiene un PropertySet como valor de propiedad Values . Al interactuar con los datos de la aplicación que almacenan la configuración, normalmente se obtiene la colección de ApplicationDataContainer.Values. Después, puede hacer lo siguiente:
- iteración sobre el conjunto mediante la sintaxis de iteración adecuada
- use HasKey ContainsKey/ para comprobar la existencia de un propertyValue en el conjunto.
- use Lookup o el indexador Item para recuperar un elemento una vez que sepa que existe.
En escenarios como trabajar con datos de la aplicación, cuando tienes un PropertySet, lo tienes por referencia, por lo que si agregas elementos a PropertySet mediante Add/Insert , estos elementos se agregarán a los datos de la aplicación y quitar los elementos los quitará de los datos de la aplicación. Todos estos cambios se comparten a través de los mecanismos de datos de la aplicación, si se realizan en RoamingSettings.
Hay otras API de Windows Runtime que usan un valor PropertySet como un valor directo en lugar de encapsulado en otra clase como ApplicationDataContainer. Por ejemplo, CoreApplication.Properties devuelve un PropertySet.
Varias propiedades que notifican información de medios y dispositivos usan PropertySet, por ejemplo PlayToReceiver.Properties. Sin embargo, hay otros conjuntos de propiedades de medios o dispositivos que no usan PropertySet y, en su lugar, usan MediaPropertySet, porque el identificador de esas propiedades se representa mejor cuando se clave como GUID en lugar de una cadena.
En muchos casos en los que una API de Windows Runtime usa propertySet como valor, se muestra realmente como IPropertySet en las firmas. PropertySet se puede considerar la implementación práctica de IPropertySet que está lista para su uso por código de aplicación. El código JavaScript puede tratar cualquier valor de IPropertySet como si implementara los prototipos de PropertySet.
Listas de miembros de la colección
Para JavaScript, PropertySet admite el uso de un índice para acceder a los elementos.
Constructores
PropertySet() |
Crea e inicializa una nueva instancia del conjunto de propiedades. |
Propiedades
Size |
Obtiene el número de elementos contenidos en el conjunto de propiedades. |
Métodos
Clear() |
Quita todos los elementos del conjunto de propiedades. |
First() |
Devuelve un iterador para enumerar los elementos del conjunto de propiedades. |
GetView() |
Obtiene una vista inmutable del conjunto de propiedades. |
HasKey(String) |
Indica si el conjunto de propiedades tiene un elemento con la clave especificada. |
Insert(String, Object) |
Agrega un elemento al conjunto de propiedades. |
Lookup(String) |
Recupera el valor de la clave especificada. |
Remove(String) |
Quita un elemento del conjunto de propiedades. |
Eventos
MapChanged |
Se produce cuando el mapa observable ha cambiado. |