Files
microsoft--semantic-kernel/dotnet/samples/Demos/StepwisePlannerMigration/Extensions/ConfigurationExtensions.cs
T
wehub-resource-sync b957a53def
CodeQL / Analyze (csharp) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
chore: import upstream snapshot with attribution
2026-07-13 13:21:23 +08:00

25 lines
752 B
C#

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