chore: import upstream snapshot with attribution
CodeQL / Analyze (csharp) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled

This commit is contained in:
wehub-resource-sync
2026-07-13 13:21:23 +08:00
commit b957a53def
5423 changed files with 863745 additions and 0 deletions
@@ -0,0 +1,23 @@
// Copyright (c) Microsoft. All rights reserved.
using System.ComponentModel.DataAnnotations;
namespace ProcessWithCloudEvents.Grpc.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;
}
}