PropertySet Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt einen Eigenschaftssatz dar, bei dem es sich um einen Satz von PropertyValue-Objekten mit Zeichenfolgenschlüsseln handelt.
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
- Vererbung
- Attribute
- Implementiert
-
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
Windows-Anforderungen
Gerätefamilie |
Windows 10 (eingeführt in 10.0.10240.0)
|
API contract |
Windows.Foundation.FoundationContract (eingeführt in v1.0)
|
Hinweise
Diese Klasse implementiert eine Zuordnung (die IMap<K,V-Schnittstelle> ) mit Schlüsseln vom Typ String und Werten vom Typ PropertyValue. Der PropertySet-Typ ermöglicht es verschiedenen Windows-Runtime-APIs, eine Sammlung gemischter Werte zurückzugeben, die weiterhin mit den allgemeinen Auflistungs-APIs von PropertySet durchlaufen oder überprüft werden können, die denen von IMap<K,V>, IDictionary<TKey, TValue> oder JavaScript-Auflistungs- und Enumerationstechniken entsprechen, je nachdem, welche Sprache Ihre App verwendet.
PropertyValue ist eine Klasse, die eine große Anzahl von statischen Create*-Methoden unterstützt, die einen absichtlich nicht typisierten Wert aus einer Eingabe erstellen, die in der Regel ein Werttyp oder ein primitives Wert (boolesche Werte, Zahlen usw.) oder ein Array dieser Werte ist. Sobald eine der statischen PropertyValue-Methoden aufgerufen wurde, kann ihr Rückgabewert als PropertyValue-instance behandelt werden (die Create*-Methoden geben jedoch technisch gesehen ein Object zurück, wenn Sie sich die Signaturen ansehen).
In der Regel verwenden Sie ein PropertySet jedoch nicht in einer Weise, die erfordert, dass Sie die PropertyValue-Werte im Satz selbst ausfüllen müssen. Stattdessen erhalten Sie in der Regel ein ausgefülltes PropertySet als Rückgabewert von einer Windows-Runtime-API, die eine Auflistung bereitstellt, in der die Darin enthaltenen Werttypen gemischt sein können, aber dennoch nach Ursprung oder Szenario miteinander verknüpft sind. Beispielsweise sind die LocalSettings- und RoamingSettings-Werte , die Sie beim Abrufen von App-Daten abrufen, vom Typ ApplicationDataContainer, und jeder enthält ein PropertySet als Values-Eigenschaftswert . Wenn Sie mit App-Daten interagieren, die Einstellungen speichern, erhalten Sie die Sammlung in der Regel aus ApplicationDataContainer.Values. Danach können Sie:
- Durchlaufen des Satzes mithilfe der entsprechenden Iterationssyntax
- verwenden Sie HasKey/ContainsKey , um das Vorhandensein eines PropertyValue-Objekts in der Gruppe zu überprüfen.
- Verwenden Sie Die Suche oder den Elementindexer , um ein Element abzurufen, sobald Sie wissen, dass es vorhanden ist
Für Szenarien wie die Arbeit mit App-Daten verfügen Sie über ein PropertySet als Verweis. Wenn Sie also Elemente zum PropertySet hinzufügen,werden /diese Elemente den App-Daten hinzugefügt, und das Entfernen von Elementen wird aus App-Daten entfernt. Alle derartigen Änderungen werden dann über die App-Datenmechanismen freigegeben, wenn sie an roamingSettings vorgenommen werden.
Es gibt andere Windows-Runtime-APIs, die einen PropertySet-Wert als direkten Wert verwenden, anstatt in eine andere Klasse wie ApplicationDataContainer eingeschlossen zu werden. Beispielsweise gibt CoreApplication.Properties ein PropertySet zurück.
Verschiedene Eigenschaften, die Informationen von Medien und Geräten melden, verwenden PropertySet, z. B. PlayToReceiver.Properties. Es gibt jedoch andere Medien-/Geräte-Eigenschaftensätze, die PropertySet nicht verwenden und stattdessen MediaPropertySet verwenden, da der Bezeichner für diese Eigenschaften besser dargestellt wird, wenn er als GUID und nicht als Zeichenfolge festgelegt wird.
In vielen Fällen, in denen eine Windows-Runtime-API ein PropertySet als Wert verwendet, wird sie tatsächlich als IPropertySet in den Signaturen angezeigt. PropertySet kann als praktische Implementierung von IPropertySet betrachtet werden, die für die Verwendung durch App-Code bereit ist. JavaScript-Code kann jeden IPropertySet-Wert so behandeln, als ob er die PropertySet-Prototypen implementiert hätte.
Auflistungsmemberlisten
Für JavaScript unterstützt PropertySet die Verwendung eines Indexes für den Zugriff auf Elemente.
Konstruktoren
PropertySet() |
Erstellt und initialisiert eine neue instance des Eigenschaftensatzes. |
Eigenschaften
Size |
Ruft die Anzahl der elemente ab, die im Eigenschaftensatz enthalten sind. |
Methoden
Clear() |
Entfernt alle Elemente aus dem Eigenschaftensatz. |
First() |
Gibt einen Iterator zurück, um die Elemente im Eigenschaftensatz aufzulisten. |
GetView() |
Ruft eine unveränderliche Ansicht des Eigenschaftensatzes ab. |
HasKey(String) |
Gibt an, ob der Eigenschaftensatz über ein Element mit dem angegebenen Schlüssel verfügt. |
Insert(String, Object) |
Fügt dem Eigenschaftensatz ein Element hinzu. |
Lookup(String) |
Ruft den Wert für den angegebenen Schlüssel ab. |
Remove(String) |
Entfernt ein Element aus dem Eigenschaftensatz. |
Ereignisse
MapChanged |
Tritt auf, wenn sich die beobachtbare Karte geändert hat. |