File: Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\Validators.g.cs
Project: ..\..\..\src\Libraries\Microsoft.Extensions.Diagnostics.ResourceMonitoring\Microsoft.Extensions.Diagnostics.ResourceMonitoring.csproj (Microsoft.Extensions.Diagnostics.ResourceMonitoring)

    // <auto-generated/>
    #nullable enable
    #pragma warning disable CS1591 // Compensate for https://github.com/dotnet/roslyn/issues/54103
    namespace Microsoft.Extensions.Diagnostics.ResourceMonitoring
{
    partial class ResourceMonitoringOptionsValidator
    {
        /// <summary>
        /// Validates a specific named options instance (or all when <paramref name="name"/> is <see langword="null" />).
        /// </summary>
        /// <param name="name">The name of the options instance being validated.</param>
        /// <param name="options">The options instance.</param>
        /// <returns>Validation result.</returns>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Extensions.Options.SourceGeneration", "8.0.10.6711")]
        [System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage("Trimming", "IL2026:RequiresUnreferencedCode",
             Justification = "The created ValidationContext object is used in a way that never call reflection")]
        public global::Microsoft.Extensions.Options.ValidateOptionsResult Validate(string? name, global::Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringOptions options)
        {
            global::Microsoft.Extensions.Options.ValidateOptionsResultBuilder? builder = null;
            var context = new global::System.ComponentModel.DataAnnotations.ValidationContext(options);
            var validationResults = new global::System.Collections.Generic.List<global::System.ComponentModel.DataAnnotations.ValidationResult>();
            var validationAttributes = new global::System.Collections.Generic.List<global::System.ComponentModel.DataAnnotations.ValidationAttribute>(1);
 
            context.MemberName = "CollectionWindow";
            context.DisplayName = string.IsNullOrEmpty(name) ? "ResourceMonitoringOptions.CollectionWindow" : $"{name}.CollectionWindow";
            validationAttributes.Add(global::__OptionValidationStaticInstances.__Attributes.A1);
            if (!global::System.ComponentModel.DataAnnotations.Validator.TryValidateValue(options.CollectionWindow, context, validationResults, validationAttributes))
            {
                (builder ??= new()).AddResults(validationResults);
            }
 
            context.MemberName = "SamplingInterval";
            context.DisplayName = string.IsNullOrEmpty(name) ? "ResourceMonitoringOptions.SamplingInterval" : $"{name}.SamplingInterval";
            validationResults.Clear();
            validationAttributes.Clear();
            validationAttributes.Add(global::__OptionValidationStaticInstances.__Attributes.A2);
            if (!global::System.ComponentModel.DataAnnotations.Validator.TryValidateValue(options.SamplingInterval, context, validationResults, validationAttributes))
            {
                (builder ??= new()).AddResults(validationResults);
            }
 
            context.MemberName = "PublishingWindow";
            context.DisplayName = string.IsNullOrEmpty(name) ? "ResourceMonitoringOptions.PublishingWindow" : $"{name}.PublishingWindow";
            validationResults.Clear();
            validationAttributes.Clear();
            validationAttributes.Add(global::__OptionValidationStaticInstances.__Attributes.A1);
            if (!global::System.ComponentModel.DataAnnotations.Validator.TryValidateValue(options.PublishingWindow, context, validationResults, validationAttributes))
            {
                (builder ??= new()).AddResults(validationResults);
            }
 
            context.MemberName = "CpuConsumptionRefreshInterval";
            context.DisplayName = string.IsNullOrEmpty(name) ? "ResourceMonitoringOptions.CpuConsumptionRefreshInterval" : $"{name}.CpuConsumptionRefreshInterval";
            validationResults.Clear();
            validationAttributes.Clear();
            validationAttributes.Add(global::__OptionValidationStaticInstances.__Attributes.A1);
            if (!global::System.ComponentModel.DataAnnotations.Validator.TryValidateValue(options.CpuConsumptionRefreshInterval, context, validationResults, validationAttributes))
            {
                (builder ??= new()).AddResults(validationResults);
            }
 
            context.MemberName = "MemoryConsumptionRefreshInterval";
            context.DisplayName = string.IsNullOrEmpty(name) ? "ResourceMonitoringOptions.MemoryConsumptionRefreshInterval" : $"{name}.MemoryConsumptionRefreshInterval";
            validationResults.Clear();
            validationAttributes.Clear();
            validationAttributes.Add(global::__OptionValidationStaticInstances.__Attributes.A1);
            if (!global::System.ComponentModel.DataAnnotations.Validator.TryValidateValue(options.MemoryConsumptionRefreshInterval, context, validationResults, validationAttributes))
            {
                (builder ??= new()).AddResults(validationResults);
            }
 
            context.MemberName = "SourceIpAddresses";
            context.DisplayName = string.IsNullOrEmpty(name) ? "ResourceMonitoringOptions.SourceIpAddresses" : $"{name}.SourceIpAddresses";
            validationResults.Clear();
            validationAttributes.Clear();
            validationAttributes.Add(global::__OptionValidationStaticInstances.__Attributes.A3);
            if (!global::System.ComponentModel.DataAnnotations.Validator.TryValidateValue(options.SourceIpAddresses, context, validationResults, validationAttributes))
            {
                (builder ??= new()).AddResults(validationResults);
            }
 
            return builder is null ? global::Microsoft.Extensions.Options.ValidateOptionsResult.Success : builder.Build();
        }
    }
}
namespace __OptionValidationStaticInstances
{
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Extensions.Options.SourceGeneration", "8.0.10.6711")]
    file static class __Attributes
    {
        internal static readonly global::Microsoft.Shared.Data.Validation.TimeSpanAttribute A1 = new global::Microsoft.Shared.Data.Validation.TimeSpanAttribute(
            (int)100,
            (int)900000);
 
        internal static readonly global::Microsoft.Shared.Data.Validation.TimeSpanAttribute A2 = new global::Microsoft.Shared.Data.Validation.TimeSpanAttribute(
            (int)1,
            (int)900000);
 
        internal static readonly global::System.ComponentModel.DataAnnotations.RequiredAttribute A3 = new global::System.ComponentModel.DataAnnotations.RequiredAttribute();
    }
}
namespace __OptionValidationStaticInstances
{
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Extensions.Options.SourceGeneration", "8.0.10.6711")]
    file static class __Validators
    {
    }
}