Compartilhar via


PropertySet Classe

Definição

Representa um conjunto de propriedades, que é um conjunto de objetos PropertyValue com chaves de cadeia de caracteres.

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
Herança
Object Platform::Object IInspectable PropertySet
Atributos
Implementações
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 do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.FoundationContract (introduzida na v1.0)

Comentários

Essa classe implementa um mapa (a interface IMap<K,V> ) com chaves do tipo String e valores do tipo PropertyValue. O tipo PropertySet permite que várias APIs Windows Runtime retornem uma coleção de valores mistos que ainda podem ser iterados ou inspecionados usando as APIs de coleção comuns de PropertySet, que correspondem às de IMap<K,V>, IDictionary<TKey, TValue> ou técnicas de enumeração JavaScript, dependendo de qual idioma seu aplicativo usa.

PropertyValue é uma classe que dá suporte a um grande número de métodos Create* estáticos que criam um valor deliberadamente não tipado de uma entrada que normalmente é um tipo de valor ou primitivo (booliano, números e assim por diante) ou uma matriz desses valores. Depois que um dos métodos PropertyValue estáticos é chamado, seu valor retornado pode ser tratado como uma instância PropertyValue (no entanto, os métodos Create* retornam tecnicamente um Objeto se você examinar as assinaturas).

No entanto, normalmente, você não usa um PropertySet de uma maneira que exija que você preencha os valores PropertyValue no conjunto por conta própria. Em vez disso, você normalmente obtém um PropertySet preenchido como um valor retornado de uma API Windows Runtime que fornece uma coleção em que os tipos de valor dentro dele podem ser mistos, mas ainda estão relacionados uns aos outros por origem ou cenário. Por exemplo, os valores LocalSettings e RoamingSettings obtidos quando você recupera dados do aplicativo são do tipo ApplicationDataContainer e cada um contém um PropertySet como seu valor de propriedade Values . Ao interagir com os dados do aplicativo que armazenam as configurações, normalmente você obtém a coleção de ApplicationDataContainer.Values. Então você pode:

  • iterar sobre o conjunto usando a sintaxe de iteração apropriada
  • use HasKey/ContainsKey para verificar a existência de um PropertyValue no conjunto
  • use a Pesquisa ou o indexador item para recuperar um item depois que você souber que ele existe

Para cenários como trabalhar com dados de aplicativo, quando você tem um PropertySet, você o tem por referência, portanto, se você adicionar itens ao PropertySet usando Adicionar/Inserir , esses itens serão adicionados aos dados do aplicativo e a remoção de itens os removerá dos dados do aplicativo. Todas essas alterações são compartilhadas por meio dos mecanismos de dados do aplicativo, se forem feitas no RoamingSettings.

Há outras APIs Windows Runtime que usam um valor PropertySet como um valor direto em vez de encapsulado em outra classe, como ApplicationDataContainer. Por exemplo, CoreApplication.Properties retorna um PropertySet.

Várias propriedades que relatam informações de mídia e dispositivos usam PropertySet, por exemplo PlayToReceiver.Properties. No entanto, há outros conjuntos de propriedades de mídia/dispositivos que não usam PropertySet e, em vez disso, usam MediaPropertySet, porque o identificador para essas propriedades é melhor representado quando chaveado como um GUID em vez de uma cadeia de caracteres.

Em muitos casos em que uma API Windows Runtime usa um PropertySet como um valor, ela é mostrada como IPropertySet nas assinaturas. PropertySet pode ser considerado a implementação prática de IPropertySet que está pronto para uso pelo código do aplicativo. O código JavaScript pode tratar qualquer valor IPropertySet como se tivesse implementado os protótipos PropertySet.

Listas de membros da coleção

Para JavaScript, PropertySet dá suporte ao uso de um índice para acessar itens.

Construtores

PropertySet()

Cria e inicializa uma nova instância do conjunto de propriedades.

Propriedades

Size

Obtém o número de itens contidos no conjunto de propriedades.

Métodos

Clear()

Remove todos os itens do conjunto de propriedades.

First()

Retorna um iterador para enumerar os itens no conjunto de propriedades.

GetView()

Obtém uma exibição imutável do conjunto de propriedades.

HasKey(String)

Indica se o conjunto de propriedades tem um item com a chave especificada.

Insert(String, Object)

Adiciona um item ao conjunto de propriedades.

Lookup(String)

Recupera o valor da chave especificada.

Remove(String)

Remove um item do conjunto de propriedades.

Eventos

MapChanged

Ocorre quando o mapa observável é alterado.

Aplica-se a

Confira também