| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 | using System;using System.Collections.Generic;using System.ComponentModel;using System.ComponentModel.DataAnnotations;using System.IO;using System.Linq;using System.Runtime.Serialization;using System.Text;using System.Threading.Tasks;using System.Windows.Markup;namespace DW5S.DTO{    /// <summary>    /// CPU参估参数模型    /// </summary>    public class CpuCgDto : IValidatableObject//有复杂验证需要实现IValidatableObject接口,没有则不用    {        /// <summary>        /// 上传后返回的文件名        /// </summary>        public string file1 { get; set; }        /// <summary>        /// 上传后返回的文件名        /// </summary>        public string file2 { get; set; }        /// <summary>        /// 开始样点        /// </summary>        [Range(0,double.MaxValue)]        public long smpStart { get; set; }        /// <summary>        /// 样点数(0表示文件末尾,0-1之间的小数表示样点百分比)        /// </summary>        [Range(0, double.MaxValue)]        public double smpCount { get; set; }        /// <summary>        /// 采样率(Hz)        /// </summary>        [Range(0, 100e6)]        public double samplingRate { get; set; }        /// <summary>        /// 信号带宽(Hz)        /// </summary>        [Range(0, 100e6)]        public double BandHz { get; set; } = 0;        /// <summary>        /// 时差中心(us)        /// </summary>        public double dtCenter { get; set; }        /// <summary>        /// 时差范围(us)        /// </summary>        [Range(0, 100000)]        public double dtRange { get; set; }        /// <summary>        /// 频差范围(单位Hz,默认16384)        /// </summary>        public double dfRange { get; set; } = 16384;        /// <summary>        /// 信噪比门限dB        /// </summary>        [Range(10, 50)]        public double snrThreshold { get; set; }        /// <summary>        /// 模型参数自定义验证(复杂的验证逻辑在这里面写)        /// </summary>        /// <param name="validationContext"></param>        /// <returns></returns>        public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)        {            //if (this.Age < 18)            //    yield return new ValidationResult("你太年轻了", new[] { nameof(this.Age) });            yield return null;        }    }}
 |