// Copyright (c) Microsoft. All rights reserved. using System.ComponentModel.DataAnnotations; namespace ContentSafety.Extensions; /// /// Class with extension methods for app configuration. /// public static class ConfigurationExtensions { /// /// Returns if it's valid or throws . /// public static TOptions GetValid(this IConfigurationRoot configurationRoot, string sectionName) { var options = configurationRoot.GetSection(sectionName).Get()!; Validator.ValidateObject(options, new(options)); return options; } }