Files
ShrlAlgoToolkit/ShrlAlgoToolkit.RevitAddins/Common/Attributes/MinimumAttribute.cs
2026-02-21 16:31:24 +08:00

24 lines
777 B
C#

using System.ComponentModel.DataAnnotations;
using ShrlAlgoToolkit.RevitAddins.Common.Attributes;
using ShrlAlgoToolkit;
using ShrlAlgoToolkit.RevitAddins;
namespace ShrlAlgoToolkit.RevitAddins.Common.Attributes;
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter)]
public sealed class MinimumAttribute : ValidationAttribute
{
public MinimumAttribute(double minValue = 0)
{
MinValue = minValue;
}
public double MinValue { get; }
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
return double.TryParse(value.ToString(), out var d) && d >= MinValue ? ValidationResult.Success : new ValidationResult($"最小值应为{MinValue}");
}
}