У меня есть интерфейс, подобный приведенному ниже:
public interface IInterface<T>
where T : IInterface<T>
{
}
И теперь мне нужно создать тип, представляющий этот интерфейс, используя отражение, например
typeof(IInterface<>).MakeGenericType(someType);
Однако я на самом деле не знаю, каким будет некоторый тип someType до времени выполнения, и возможно, что этот тип не будет действительным в качестве аргумента типа для универсального интерфейса, поэтому MakeGenericType не работает.
Вопрос в том, , как я могу проверить, что someType допустимо для общего ограничения?