Интерфейс не является базовым классом. Класс может реализовывать много интерфейсов
Если вы хотите получить список интерфейсов, просто используйте
passedInParameter.GetType().GetInterfaces();
также вы можете попробовать is operator
if(passedInParameter is ISomeInterface)
{
// do some logic
}
Попробуйте использовать этот фрагмент кода
ParameterInfo param = paramList[i];
Type type = paramArray[i].GetType();
bool valid = false;
if (info.ParameterType.IsInterface)
valid = type.GetInterfaces().Contains(param.ParameterType);
else
valid = type.IsSubclassOf(param.ParameterType);