public static JTIdentityBuilder AddJTRoleManager <TRoleManager>(this JTIdentityBuilder builder) where TRoleManager : class { var jtType = typeof(JTRoleManager <,>).MakeGenericType(builder.RoleType, builder.UserType); var managerType = typeof(RoleManager <>).MakeGenericType(builder.RoleType); builder.Services.AddScoped(jtType, services => services.GetRequiredService(managerType)); builder.AddRoleManager <TRoleManager>(); return(builder); }