Рассмотрим общий интерфейстипа находят реализации универсального интерфейса посредством отражения
public interface IA<T>
{
}
и две реализации
public class A1 : IA<string>
{}
public class A2 : IA<int>
{}
Я хочу написать метод, который находит классы, которые реализует IA
интерфейс с определенным типом
public Type[] Find(IEnumerable<Type> types, Type type)
, так что следующий звонок
Find(new List<Type>{ typeof(A1), typeof(A2)}, typeof(string))
будет возвращать тип A1
ВАЖНО
Я могу предположить, что все типы, передаваемые в виде списка будет осуществлять IA
однако не обязательно непосредственно (например A1
может наследует от BaseA
, который реализует IA<string>
)
Как я могу достичь этого через отражение?
'MakeGenericType' действительно отсутствует часть для меня. Благодаря! –