Condividi tramite


PropertySet Classe

Definizione

Rappresenta un set di proprietà, ovvero un set di oggetti PropertyValue con chiavi stringa.

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
Ereditarietà
Object Platform::Object IInspectable PropertySet
Attributi
Implementazioni
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

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.FoundationContract (è stato introdotto in v1.0)

Commenti

Questa classe implementa una mappa (interfaccia IMap<K,V> ) con chiavi di tipo String e valori di tipo PropertyValue. Il tipo PropertySet consente a varie API di Windows Runtime di restituire una raccolta di valori misti che possono comunque essere iterati o controllati usando le API di raccolta comuni di PropertySet, che corrispondono a quelle di IMap<K,V>, IDictionary<TKey, TValue> o JavaScript e tecniche di enumerazione, a seconda del linguaggio usato dall'app.

PropertyValue è una classe che supporta un numero elevato di metodi Create* statici che creano un valore intenzionalmente non tipizzato da un input che in genere è un tipo di valore o primitivo (booleano, numeri e così via) o una matrice di tali valori. Dopo aver chiamato uno dei metodi static PropertyValue , il relativo valore restituito può essere considerato come un'istanza di PropertyValue (tuttavia i metodi Create* restituiscono tecnicamente un oggetto se si esaminano le firme).

Tuttavia, non si usa in genere un Oggetto PropertySet in modo da richiedere di compilare i valori PropertyValue nel set. In genere si ottiene un oggetto PropertySet compilato come valore restituito da un'API Windows Runtime che fornisce una raccolta in cui i tipi di valore all'interno potrebbero essere misti, ma sono ancora correlati tra loro per origine o scenario. Ad esempio, i valori LocalSettings e RoamingSettings che si ottengono quando si recuperano i dati dell'app sono di tipo ApplicationDataContainer e ognuno contiene un PropertySet come valore della proprietà Values. Quando si interagisce con i dati dell'app che archiviano le impostazioni, in genere si ottiene la raccolta da ApplicationDataContainer.Values. È quindi possibile:

  • eseguire l'iterazione del set usando la sintassi di iterazione appropriata
  • usare HasKey/ContainsKey per verificare l'esistenza di un PropertyValue nel set
  • usare Lookup o l'indicizzatore item per recuperare un elemento una volta che esiste

Per gli scenari come l'uso dei dati dell'app, quando si dispone di un oggetto PropertySet a cui si fa riferimento, quindi se si aggiungono elementi al PropertySet usando Aggiungi/ inserimento questi elementi verranno aggiunti ai dati dell'app e la rimozione di elementi li rimuove dai dati dell'app. Tutte queste modifiche vengono quindi condivise tramite i meccanismi di dati dell'app, se vengono apportate a RoamingSettings.

Esistono altre API di Windows Runtime che usano un valore PropertySet come valore diretto anziché eseguito il wrapping in un'altra classe, ad esempio ApplicationDataContainer. Ad esempio, CoreApplication.Properties restituisce un oggetto PropertySet.

Varie proprietà che segnalano informazioni dai supporti e dai dispositivi usano PropertySet, ad esempio PlayToReceiver.Properties. Tuttavia, esistono altri set di proprietà multimediali/dispositivi che non usano PropertySet e invece usano MediaPropertySet, perché l'identificatore per tali proprietà è meglio rappresentato quando viene chiaveto come GUID anziché come stringa.

In molti casi in cui un'API Windows Runtime usa un PropertySet come valore, viene effettivamente visualizzato come IPropertySet nelle firme. PropertySet può essere considerata l'implementazione pratica di IPropertySet pronta per l'uso da parte del codice dell'app. Il codice JavaScript può considerare qualsiasi valore IPropertySet come se implementa i prototipi propertySet.

Elenchi di membri della raccolta

Per JavaScript, PropertySet supporta l'uso di un indice per accedere agli elementi.

Costruttori

PropertySet()

Crea e inizializza una nuova istanza del set di proprietà.

Proprietà

Size

Ottiene il numero di elementi contenuti nel set di proprietà.

Metodi

Clear()

Rimuove tutti gli elementi dal set di proprietà.

First()

Restituisce un iteratore per enumerare gli elementi nel set di proprietà.

GetView()

Ottiene una visualizzazione non modificabile del set di proprietà.

HasKey(String)

Indica se il set di proprietà ha un elemento con la chiave specificata.

Insert(String, Object)

Aggiunge un elemento al set di proprietà.

Lookup(String)

Recupera il valore per la chiave specificata.

Remove(String)

Rimuove un elemento dal set di proprietà.

Eventi

MapChanged

Si verifica quando la mappa osservabile è stata modificata.

Si applica a

Vedi anche