Exemple #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Property{T}"/> class.
        /// Constructor for copying.
        /// </summary>
        /// <param name="name">Property name.</param>
        /// <param name="description">Property description.</param>
        /// <param name="alias">Property alias.</param>
        /// <param name="defaultValue">Default value function.</param>
        /// <param name="examples">Examples.</param>
        /// <param name="calculator">Calculate property value function.</param>
        internal Property(
            string name,
            string?description,
            string?alias,
            IDefaultValue <T> defaultValue,
            IReadOnlyList <T> examples,
            IPropertyCalculator <T>?calculator)
        {
            Name = name;

            Description  = description;
            Alias        = alias;
            DefaultValue = defaultValue.AssertArgumentNotNull(nameof(defaultValue));
            Examples     = examples.AssertArgumentNotNull(nameof(examples));
            Calculator   = calculator;
        }