PropertySet クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
プロパティ セットを表します。これは、文字列キーを持つ PropertyValue オブジェクトのセットです。
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
- 継承
- 属性
- 実装
-
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 の要件
デバイス ファミリ |
Windows 10 (10.0.10240.0 で導入)
|
API contract |
Windows.Foundation.FoundationContract (v1.0 で導入)
|
注釈
このクラスは、String 型のキーと PropertyValue 型の値を持つマップ (IMap<K,V> インターフェイス) を実装します。 PropertySet 型を使用すると、さまざまなWindows ランタイム API は、アプリで使用する言語に応じて、IMap<K、V>、IDictionary<TKey、TValue>、または JavaScript のコレクションと列挙の手法に一致する PropertySet の共通コレクション API を使用して反復処理または検査できる混合値のコレクションを返すことができます。
PropertyValue は、値型またはプリミティブ (ブール値、数値など) またはそれらの値の配列である入力から意図的に型指定されていない値を作成する多数の静的 Create* メソッドをサポートするクラスです。 静的 PropertyValue メソッドの 1 つが呼び出されると、その戻り値を PropertyValue インスタンスとして扱うことができます (ただし、シグネチャを確認すると、 Create* メソッドは技術的に Object を 返します)。
ただし、通常は、自分でセット内の PropertyValue 値を入力する必要がある方法で PropertySet を使用することはありません。 代わりに、通常は、入力された PropertySet をWindows ランタイム API から戻り値として取得します。この API は、コレクション内の値の型が混在している可能性がありますが、引き続き元またはシナリオによって相互に関連付けられているコレクションを提供します。 たとえば、アプリ データを取得するときに取得する LocalSettings と RoamingSettings の値は ApplicationDataContainer 型であり、それぞれに Values プロパティ値として PropertySet が含まれています。 設定を格納しているアプリ データを操作する場合、通常は ApplicationDataContainer.Values からコレクションを取得します。 次に、以下のことができます。
- 適切な反復構文を使用してセットを反復処理する
- HasKey/ContainsKey を使用して、Set に PropertyValue が存在することを確認します
- Lookup または Item インデクサーを使用して、アイテムが存在することがわかっている場合にアイテムを取得する
アプリ データの操作などのシナリオでは、PropertySet がある場合は、それを参照して取得します。そのため、[挿入の追加]/ を使用して PropertySet に項目を追加すると、これらの項目がアプリ データに追加され、項目を削除するとアプリ データから削除されます。 このような変更はすべて、 RoamingSettings に対して行われた場合、アプリ データ メカニズムを通じて共有されます。
ApplicationDataContainer などの別のクラスでラップされるのではなく、PropertySet 値を直接値として使用する他のWindows ランタイム API があります。 たとえば、 CoreApplication.Properties は PropertySet を返します。
メディアやデバイスから情報を報告するさまざまなプロパティでは、 PlayToReceiver.Properties などの PropertySet が使用されます。 ただし、PropertySet を使用せず、代わりに MediaPropertySet を使用する他のメディア/デバイス プロパティ セットがあります。これらのプロパティの識別子は、文字列ではなく GUID としてキーを設定すると表現される方が適切であるためです。
Windows ランタイム API が値として PropertySet を使用する多くの場合、実際にはシグネチャに IPropertySet として表示されます。 PropertySet は、アプリ コードで使用できる IPropertySet の実際的な実装と見なすことができます。 JavaScript コードでは、 任意の IPropertySet 値を PropertySet プロトタイプを実装したかのように扱うことができます。
コレクション メンバー リスト
JavaScript の場合、PropertySet では、インデックスを使用して項目にアクセスできます。
コンストラクター
PropertySet() |
プロパティ セットの新しいインスタンスを作成して初期化します。 |
プロパティ
Size |
プロパティ セットに含まれる項目の数を取得します。 |
メソッド
Clear() |
プロパティ セットからすべての項目を削除します。 |
First() |
プロパティ セット内の項目を列挙する反復子を返します。 |
GetView() |
プロパティ セットの変更できないビューを取得します。 |
HasKey(String) |
プロパティ セットに、指定したキーを持つ項目があるかどうかを示します。 |
Insert(String, Object) |
プロパティ セットに項目を追加します。 |
Lookup(String) |
指定したキーの値を取得します。 |
Remove(String) |
プロパティ セットから項目を削除します。 |
イベント
MapChanged |
監視可能なマップが変更されたときに発生します。 |