示例#1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Property{T}"/> class.
 /// Constructor for copying.
 /// </summary>
 /// <param name="name">Name.</param>
 /// <param name="description">Description.</param>
 /// <param name="alias">Alias.</param>
 /// <param name="examples">Examples.</param>
 /// <param name="calculator">Calculate func.</param>
 internal Property(
     string name,
     LocalizableString description,
     string alias,
     IReadOnlyList <T> examples,
     IPropertyCalculator <T> calculator)
 {
     Name        = name;
     Description = description;
     Alias       = alias;
     Examples    = examples;
     Calculator  = calculator;
 }
示例#2
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;
        }
示例#3
0
 /// <summary>
 /// Sets property value calculator and returns the same property for builder chaining.
 /// </summary>
 /// <param name="calculate">Calculate property value func.</param>
 /// <returns>The same property for builder chaining.</returns>
 public Property <T> SetCalculate(Func <IPropertyContainer, T> calculate)
 {
     Calculator = new PropertyCalculator <T>(calculate);
     return(this);
 }