Вы можете перебирать дескрипторы службы в ServiceCollection и проверять типы, чтобы увидеть, какие из них являются универсальными, и каковы параметры универсального типа.
Как правило, я бы рекомендовал регистрировать конкретные типы в поставщике услуг, а не абстрактные, потому что будет сложно создать службу, которая не имеет конкретного типа!Например,
services.AddSingleton( typeof(IThing<Person>, GenericThing<Person>)
Вы также можете указать строку имени для службы в тех случаях, когда вы хотите зарегистрировать один и тот же интерфейс дважды, потому что в противном случае нет способа различить несколькоуслуги, когда вы пытаетесь получить услугу.Однако обычно стараются не регистрировать один и тот же интерфейс дважды.
sjb