File: System\Text\Json\Serialization\Metadata\JsonParameterInfoValues.cs
Web Access
Project: src\src\libraries\System.Text.Json\src\System.Text.Json.csproj (System.Text.Json)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
using System.ComponentModel;
 
namespace System.Text.Json.Serialization.Metadata
{
    /// <summary>
    /// Provides information about a constructor parameter required for JSON deserialization.
    /// </summary>
    /// <remarks>This API is for use by the output of the System.Text.Json source generator and should not be called directly.</remarks>
    [EditorBrowsable(EditorBrowsableState.Never)]
    public sealed class JsonParameterInfoValues
    {
        /// <summary>
        /// The name of the parameter.
        /// </summary>
        /// <remarks>This API is for use by the output of the System.Text.Json source generator and should not be called directly.</remarks>
        public string Name { get; init; } = null!;
 
        /// <summary>
        /// The type of the parameter.
        /// </summary>
        /// <remarks>This API is for use by the output of the System.Text.Json source generator and should not be called directly.</remarks>
        public Type ParameterType { get; init; } = null!;
 
        /// <summary>
        /// The zero-based position of the parameter in the formal parameter list.
        /// </summary>
        /// <remarks>This API is for use by the output of the System.Text.Json source generator and should not be called directly.</remarks>
        public int Position { get; init; }
 
        /// <summary>
        /// Whether a default value was specified for the parameter.
        /// </summary>
        /// <remarks>This API is for use by the output of the System.Text.Json source generator and should not be called directly.</remarks>
        public bool HasDefaultValue { get; init; }
 
        /// <summary>
        /// The default value of the parameter.
        /// </summary>
        /// <remarks>This API is for use by the output of the System.Text.Json source generator and should not be called directly.</remarks>
        public object? DefaultValue { get; init; }
 
        /// <summary>
        /// Whether the parameter allows <see langword="null"/> values.
        /// </summary>
        /// <remarks>This API is for use by the output of the System.Text.Json source generator and should not be called directly.</remarks>
        public bool IsNullable { get; init; }
 
        /// <summary>
        /// Whether the parameter represents a required or init-only member initializer.
        /// </summary>
        /// <remarks>This API is for use by the output of the System.Text.Json source generator and should not be called directly.</remarks>
        public bool IsMemberInitializer { get; init; }
    }
}