Как зарегистрировать общий тип с использованием microsoft.extensions.hosting с помощью отражения?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как зарегистрировать общий тип с использованием microsoft.extensions.hosting с помощью отражения?

Сообщение Anonymous »

У меня есть общие классы: < /p>
public interface ICommon
{
public string Test();
}

public class Common : ICommon
{
public string Test()
{
return "Common";
}
}
< /code>
Я хочу зарегистрировать его в ihost.
Если я напишу так (один из способов), он будет зарегистрирован: < /p>
services.TryAddScoped(typeof(ICommon), typeof(Common));
< /code>
обслуживаю, как это < /p>
Если я напишу его так (два пути), это получит исключение: < /p>
var types = assembly.GetTypes().Where(t => !t.IsInterface && !t.IsAbstract);
foreach (var type in types)
{
var name = type.Name;
var interfaceType = type.GetInterfaces().ToList().Find(p => p.Name.Equals($"I{name}"));
if (interfaceType is null)
{
continue;
}
services.TryAddSingleton(interfaceType, type);
}
< /code>
обслуживаю, как этот Microsoft.extensions.hosting.9.0.2 Microsoft.extensions.hosting.8.0.1.

Это то же самое. < /P>

Подробнее здесь: https://stackoverflow.com/questions/794 ... reflection
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»