ApplicationDataCompositeValue 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示必须以原子方式序列化和反序列化的相关应用设置。
public ref class ApplicationDataCompositeValue 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.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
class ApplicationDataCompositeValue final : IIterable<IKeyValuePair<winrt::hstring, IInspectable const&>>, IMap<winrt::hstring, IInspectable const&>, IObservableMap<winrt::hstring, IInspectable const&>, IPropertySet
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class ApplicationDataCompositeValue 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.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
public sealed class ApplicationDataCompositeValue : IDictionary<string,object>, IEnumerable<KeyValuePair<string,object>>, IObservableMap<string,object>, IPropertySet
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class ApplicationDataCompositeValue : IDictionary<string,object>, IEnumerable<KeyValuePair<string,object>>, IObservableMap<string,object>, IPropertySet
function ApplicationDataCompositeValue()
Public NotInheritable Class ApplicationDataCompositeValue
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.UniversalApiContract (在 v1.0 中引入)
|
示例
此示例创建并读取名为 的 exampleCompositeSetting
复合设置。
调用 Remove 方法以在完成设置后将其删除 exampleCompositeSetting
。
Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
// Create a composite setting
Windows.Storage.ApplicationDataCompositeValue composite = new Windows.Storage.ApplicationDataCompositeValue();
composite["intVal"] = 1;
composite["strVal"] = "string";
localSettings.Values["exampleCompositeSetting"] = composite;
// Read data from a composite setting
Windows.Storage.ApplicationDataCompositeValue composite =
(Windows.Storage.ApplicationDataCompositeValue)localSettings.Values["exampleCompositeSetting"];
if (composite == null)
{
// No data
}
else
{
// Access data in composite["intVal"] and composite["strVal"]
}
// Delete a composite setting
localSettings.Values.Remove("exampleCompositeSetting");
Windows::Storage::ApplicationDataContainer localSettings{
Windows::Storage::ApplicationData::Current().LocalSettings() };
auto values{ localSettings.Values() };
{
// Create a composite setting.
Windows::Storage::ApplicationDataCompositeValue composite;
composite.Insert(L"intVal", Windows::Foundation::PropertyValue::CreateInt32(1));
composite.Insert(L"strVal", Windows::Foundation::PropertyValue::CreateString(L"string"));
values.Insert(L"exampleCompositeSetting", composite);
}
{
// Read data from a composite setting.
Windows::Storage::ApplicationDataCompositeValue composite{ values.Lookup(L"exampleCompositeSetting").as<Windows::Storage::ApplicationDataCompositeValue>() };
if (composite == nullptr)
{
// No data
}
else
{
int32_t one{ winrt::unbox_value<int32_t>(composite.Lookup(L"intVal")) };
winrt::hstring hello{ winrt::unbox_value<winrt::hstring>(composite.Lookup(L"strVal")) };
}
}
// Delete a composite setting.
values.Remove(L"exampleCompositeSetting");
ApplicationDataContainer^ localSettings = ApplicationData::Current->LocalSettings;
// Create a composite setting
ApplicationDataCompositeValue^ composite = ref new ApplicationDataCompositeValue();
composite->Insert("intVal", dynamic_cast<PropertyValue^>(PropertyValue::CreateInt32(1)));
composite->Insert("strVal", dynamic_cast<PropertyValue^>(PropertyValue::CreateString("string")));
auto values = localSettings->Values;
values->Insert("exampleCompositeSetting", composite);
// Read data from a composite setting
composite = safe_cast<ApplicationDataCompositeValue^>(localSettings->Values->Lookup("exampleCompositeSetting"));
if (composite == nullptr)
{
// No data
}
else
{
int one = safe_cast<IPropertyValue^>(composite->Lookup("intVal"))->GetInt32();
String^ hello = safe_cast<String^>(composite->Lookup("strVal"));
}
// Delete a composite setting
values->Remove("exampleCompositeSetting");
Dim localSettings As Windows.Storage.ApplicationDataContainer = Windows.Storage.ApplicationData.Current.LocalSettings
' Create a composite setting
Dim composite As New Windows.Storage.ApplicationDataCompositeValue
composite("intVal") = 1
composite("strVal") = "string";
localSettings.Values("exampleCompositeSetting") = composite
' Read data from a composite setting
Dim composite As Windows.Storage.ApplicationDataCompositeValue =
CType(localSettings.Values("exampleCompositeSetting"), Windows.Storage.ApplicationDataCompositeValue)
If composite Is Nothing Then
' No data
Else
' Access data in composite("intVal") and composite("strVal")
End If
' Delete a composite setting
localSettings.Values.Remove("exampleCompositeSetting")
注解
复合设置通过将其插入设置映射进行序列化,并通过从地图中查找它进行反序列化。
集合成员列表
对于 JavaScript,ApplicationDataCompositeValue 支持使用索引来访问项。
构造函数
ApplicationDataCompositeValue() |
创建并初始化 对象的新实例,该实例最初为空。 |
属性
Size |
获取相关应用程序设置的数目。 |
方法
Clear() |
删除以前插入到复合值对象中的所有应用程序设置,并将对象返回到其空状态。 |
First() |
检索迭代器以枚举复合值中的设置。 |
GetView() |
返回复合值内容的只读快照。 |
HasKey(String) |
确定是否有具有指定键的应用程序设置。 |
Insert(String, Object) |
创建或替换应用程序设置。 |
Lookup(String) |
检索指定的应用程序设置。 |
Remove(String) |
删除具有指定键的值。 |
事件
MapChanged |
在映射更改时发生。 |