Files
juipnet/Infrastructure/Hncore.Infrastructure/Service/ServiceIOCExt.cs
wanyongkang d318014316 初始提交
2020-10-07 20:25:03 +08:00

27 lines
728 B
C#

using Microsoft.Extensions.DependencyInjection;
using System;
using System.Linq;
using System.Reflection;
namespace Hncore.Infrastructure.Service
{
public static class ServiceIOCExt
{
public static IServiceCollection AutoAddService(this IServiceCollection service, Type fromType = null)
{
if (fromType == null)
fromType = typeof(IFindService);
var types = Assembly.GetCallingAssembly().GetTypes();
types = types.Where(m => fromType.IsAssignableFrom(m)).ToArray();
foreach (var type in types)
{
service.AddScoped(type);
}
return service;
}
}
}