|  |  | 1 |  | // Copyright (c) Microsoft Corporation. All rights reserved. | 
|  |  | 2 |  | // Licensed under the MIT License. | 
|  |  | 3 |  |  | 
|  |  | 4 |  | using System.Collections.Generic; | 
|  |  | 5 |  | using System.Text.Json.Serialization; | 
|  |  | 6 |  |  | 
|  |  | 7 |  | namespace Azure.DigitalTwins.Core.Serialization | 
|  |  | 8 |  | { | 
|  |  | 9 |  |     /// <summary> | 
|  |  | 10 |  |     /// Properties on a component that adhere to a specific model. | 
|  |  | 11 |  |     /// </summary> | 
|  |  | 12 |  |     /// <remarks> | 
|  |  | 13 |  |     /// For more samples, see <see href="https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/digitaltwins/Azure.D | 
|  |  | 14 |  |     /// </remarks> | 
|  |  | 15 |  |     public class ModelProperties | 
|  |  | 16 |  |     { | 
|  |  | 17 |  |         /// <summary> | 
|  |  | 18 |  |         /// Information about the model a component conforms to. This field is present on every digital twin. | 
|  |  | 19 |  |         /// </summary> | 
|  |  | 20 |  |         [JsonPropertyName("$metadata")] | 
|  | 0 | 21 |  |         public ComponentMetadata Metadata { get; internal set; } = new ComponentMetadata(); | 
|  |  | 22 |  |  | 
|  |  | 23 |  |         /// <summary> | 
|  |  | 24 |  |         /// Additional properties of the digital twin. This field will contain any properties of the digital twin that a | 
|  |  | 25 |  |         /// </summary> | 
|  |  | 26 |  |         [JsonExtensionData] | 
|  | 0 | 27 |  |         public IDictionary<string, object> CustomProperties { get; } = new Dictionary<string, object>(); | 
|  |  | 28 |  |     } | 
|  |  | 29 |  | } |