PropertySet Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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. |