Я думаю, вам нужно позвонить GetInterfaces()
из вашего StringMapper и проверить каждый на IsGenericType
.И последнее, но не менее важное: получите открытый тип (IMapper<,>
) каждого универсального, вызвав GetGenericTypeDefinition()
и проверьте, соответствует ли он typeof(IMapper<,>)
.
Это все, что вы можете сделать.Но учтите, что если класс наследует от другого базового класса, который также реализует некоторые интерфейсы, они не будут перечислены.В этом случае вы должны повторно просмотреть свойства BaseType
и выполнять приведенные выше действия, пока BaseType
не станет нулевым.