Blog.Core/Blog.Core.Extensions/ServiceExtensions/AllOptionRegister.cs

21 lines
641 B
C#
Raw Permalink Normal View History

using Blog.Core.Common;
using Blog.Core.Common.Option.Core;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Linq;
namespace Blog.Core.Extensions.ServiceExtensions;
public static class AllOptionRegister
{
public static void AddAllOptionRegister(this IServiceCollection services)
{
if (services == null) throw new ArgumentNullException(nameof(services));
foreach (var optionType in App.EffectiveTypes.Where(s =>
!s.IsInterface && typeof(IConfigurableOptions).IsAssignableFrom(s)))
{
services.AddConfigurableOptions(optionType);
}
}
}