csharp-sdk-upm/Libs/Newtonsoft.Json/JsonExtensionDataAttribute.cs

37 lines
1.4 KiB
C#
Raw Normal View History

2021-03-29 14:54:12 +08:00
using System;
namespace LC.Newtonsoft.Json
{
/// <summary>
/// Instructs the <see cref="JsonSerializer"/> to deserialize properties with no matching class member into the specified collection
/// and write values during serialization.
/// </summary>
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = false)]
public class JsonExtensionDataAttribute : Attribute
{
/// <summary>
/// Gets or sets a value that indicates whether to write extension data when serializing the object.
/// </summary>
/// <value>
/// <c>true</c> to write extension data when serializing the object; otherwise, <c>false</c>. The default is <c>true</c>.
/// </value>
public bool WriteData { get; set; }
/// <summary>
/// Gets or sets a value that indicates whether to read extension data when deserializing the object.
/// </summary>
/// <value>
/// <c>true</c> to read extension data when deserializing the object; otherwise, <c>false</c>. The default is <c>true</c>.
/// </value>
public bool ReadData { get; set; }
/// <summary>
/// Initializes a new instance of the <see cref="JsonExtensionDataAttribute"/> class.
/// </summary>
public JsonExtensionDataAttribute()
{
WriteData = true;
ReadData = true;
}
}
}