Я использую C#, .NET 8 и Microsoft.Extensions.DependencyInjection.
У меня есть интерфейс, который имеет более 30 различных классов, которые его реализуют. Я хочу внедрить IEnumerable в другой класс с ограниченным временем жизни.
Я понимаю, что могу зарегистрировать каждый из 30 классов вручную - примерно так:< /p>
services.AddScoped();
services.AddScoped();
...
services.AddScoped();
Есть ли способ сделать это более динамичным способом, не требующим ручной регистрации каждого отдельного класса?
РЕДАКТИРОВАТЬ : Я нашел решение, которое работает. Может ли кто-нибудь оставить мне отзыв?
Type baseClass = typeof(IBaseClass);
var types = Assembly.GetAssembly(baseClass)?.
GetTypes().Where(p => !p.IsAbstract && !p.IsInterface && baseClass
.IsAssignableFrom(p));
foreach (Type t in types!)
{
services.AddScoped(typeof(IBaseClass), t);
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... re-without
Как зарегистрировать несколько реализаций интерфейса в ASP.NET Core без регистрации вручную? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как зарегистрировать несколько реализаций интерфейса в ASP.NET Core без регистрации вручную?
Anonymous » » в форуме C# - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как зарегистрировать несколько реализаций интерфейса в ASP.NET Core без регистрации вручную?
Anonymous » » в форуме C# - 0 Ответы
- 22 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как зарегистрировать несколько реализаций одного и того же интерфейса с разными зависимостями
Anonymous » » в форуме C# - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как зарегистрировать несколько реализаций одного и того же интерфейса с разными зависимостями
Anonymous » » в форуме C# - 0 Ответы
- 6 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как зарегистрировать несколько реализаций одного и того же интерфейса с разными зависимостями
Anonymous » » в форуме C# - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-