PropertySet 클래스

정의

문자열 키가 있는 개체 집합인 속성 집합 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
상속
Object IInspectable PropertySet
특성
구현

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0에서 도입되었습니다.)
API contract
Windows.Foundation.FoundationContract (v1.0에서 도입되었습니다.)

설명

이 클래스는 문자열 형식의 키와 형식 PropertyValueIMap<K,V 이 있는 맵(> 인터페이스)을 구현합니다. PropertySet 형식을 사용하면 다양한 Windows 런타임 API가 앱에서 사용하는 언어에 따라>, IDictionary<TKey, TValue> 또는 JavaScript 컬렉션 및 열거 기술과 일치하는 PropertySet의 IMap<K,V 공통 컬렉션 API를 사용하여 반복 또는 검사할 수 있는 혼합 값 컬렉션을 반환할 수 있습니다.

PropertyValue 는 일반적으로 값 형식 또는 기본 형식(부울, 숫자 등) 또는 해당 값의 배열인 입력에서 의도적으로 형식화되지 않은 값을 만드는 많은 수의 정적 Create _ 메서드를 지원하는 클래스입니다. 정적 PropertyValue 메서드 중 하나가 호출되면 해당 반환 값을 인스턴스로 PropertyValue 처리할 수 있습니다(그러나 서명을 보면 Create* 메서드는 기술적으로 _ *Object**를 반환합니다).

그러나 일반적으로 집합의 값을 직접 채우 PropertyValue 도록 요구하는 방식으로 PropertySet을 사용하지는 않습니다. 대신 일반적으로 입력된 PropertySet을 Windows 런타임 API에서 반환 값으로 가져오는데, 이 값은 컬렉션 내의 값 형식이 혼합될 수 있지만 원본 또는 시나리오에 따라 서로 관련되어 있는 컬렉션을 제공합니다. 예를 들어 LocalSettings 앱 데이터를 검색할 때 가져오는 값과 RoamingSettings 형식 ApplicationDataContainer은 각각 속성 값으로 Values PropertySet을 포함합니다. 설정을 저장하는 앱 데이터와 상호 작용하는 경우 일반적으로 컬렉션을 ApplicationDataContainer.Values가져옵니다. 그러면 다음을 수행할 수 있습니다.

  • 적절한 반복 구문을 사용하여 집합을 반복합니다.
  • ContainsKey를 사용하여 HasKey/ 집합에 존재 PropertyValue 여부를 확인합니다.
  • 항목이 있다는 것을 알고 나면 항목을 검색하는 데 사용 Lookup 또는 항목 인덱서

앱 데이터 작업과 같은 시나리오의 경우 PropertySet이 있는 경우 참조로 해당 항목을 가지고 있으므로 이러한 항목 추가/Insert 를 사용하여 PropertySet에 항목을 추가하면 앱 데이터에 추가되고 항목을 제거하면 앱 데이터에서 제거됩니다. 그런 다음 이러한 모든 변경 내용은 앱 데이터 메커니즘을 통해 공유됩니다(해당 변경 내용이 적용된 RoamingSettings경우).

PropertySet 값을 같은 다른 클래스ApplicationDataContainer에 래핑하지 않고 직접 값으로 사용하는 다른 Windows 런타임 API도 있습니다. 예를 들어 PropertySet CoreApplication.Properties 을 반환합니다.

미디어 및 디바이스에서 정보를 보고하는 다양한 속성은 PropertySet을 사용합니다. 예를 들면 다음과 같습니다 PlayToReceiver.Properties. 그러나 속성 집합을 사용하지 않고 대신 사용하는 MediaPropertySet다른 미디어/디바이스 속성 집합이 있습니다. 이러한 속성의 식별자는 문자열이 아닌 GUID 로 키가 지정될 때 더 잘 표현되기 때문입니다.

Windows 런타임 API가 PropertySet을 값으로 사용하는 대부분의 경우 실제로 서명과 같이 IPropertySet 표시됩니다. PropertySet은 앱 코드에서 사용할 준비가 된 실제 구현 IPropertySet 으로 간주할 수 있습니다. JavaScript 코드는 PropertySet 프로토타입을 구현한 것처럼 모든 IPropertySet 값을 처리할 수 있습니다.

컬렉션 멤버 목록

JavaScript의 경우 PropertySet은 인덱스를 사용하여 항목에 액세스하도록 지원합니다.

생성자

PropertySet()

속성 집합의 새 인스턴스를 만들고 초기화합니다.

속성

Size

속성 집합에 포함된 항목 수를 가져옵니다.

메서드

Clear()

속성 집합에서 모든 항목을 제거합니다.

First()

속성 집합의 항목을 열거하는 반복기를 반환합니다.

GetView()

속성 집합의 변경할 수 없는 보기를 가져옵니다.

HasKey(String)

속성 집합에 지정된 키가 있는 항목이 있는지 여부를 나타냅니다.

Insert(String, Object)

속성 집합에 항목을 추가합니다.

Lookup(String)

지정된 키의 값을 검색합니다.

Remove(String)

속성 집합에서 항목을 제거합니다.

이벤트

MapChanged

관찰 가능한 맵이 변경된 경우에 발생합니다.

적용 대상

추가 정보