40 lines
1.3 KiB
C#
40 lines
1.3 KiB
C#
using System;
|
|
|
|
namespace Unosquare.Swan.Attributes {
|
|
/// <summary>
|
|
/// An attribute used to help setup a property behavior when serialize/deserialize JSON.
|
|
/// </summary>
|
|
/// <seealso cref="Attribute" />
|
|
[AttributeUsage(AttributeTargets.Property)]
|
|
public sealed class JsonPropertyAttribute : Attribute {
|
|
/// <summary>
|
|
/// Initializes a new instance of the <see cref="JsonPropertyAttribute" /> class.
|
|
/// </summary>
|
|
/// <param name="propertyName">Name of the property.</param>
|
|
/// <param name="ignored">if set to <c>true</c> [ignored].</param>
|
|
public JsonPropertyAttribute(String propertyName, Boolean ignored = false) {
|
|
this.PropertyName = propertyName ?? throw new ArgumentNullException(nameof(propertyName));
|
|
this.Ignored = ignored;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets or sets the name of the property.
|
|
/// </summary>
|
|
/// <value>
|
|
/// The name of the property.
|
|
/// </value>
|
|
public String PropertyName {
|
|
get;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets or sets a value indicating whether this <see cref="JsonPropertyAttribute" /> is ignored.
|
|
/// </summary>
|
|
/// <value>
|
|
/// <c>true</c> if ignored; otherwise, <c>false</c>.
|
|
/// </value>
|
|
public Boolean Ignored {
|
|
get;
|
|
}
|
|
}
|
|
} |